VDB
KO
MEDIUM 4.7

GHSA-mwmh-mq4g-g6gr

Electron: Registry key path injection in app.setAsDefaultProtocolClient on Windows

Details

### Impact On Windows, `app.setAsDefaultProtocolClient(protocol)` did not validate the protocol name before writing to the registry. Apps that pass untrusted input as the protocol name may allow an attacker to write to arbitrary subkeys under `HKCU\Software\Classes\`, potentially hijacking existing protocol handlers.

Apps are only affected if they call `app.setAsDefaultProtocolClient()` with a protocol name derived from external or untrusted input. Apps that use a hardcoded protocol name are not affected.

### Workarounds Validate the protocol name matches `/^[a-zA-Z][a-zA-Z0-9+.-]*$/` before passing it to `app.setAsDefaultProtocolClient()`.

### Fixed Versions * `41.0.0` * `40.8.1` * `39.8.1` * `38.8.6`

### For more information If there are any questions or comments about this advisory, please email [security@electronjs.org](mailto:security@electronjs.org)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / electron
Introduced in: 0 Fixed in: 38.8.6
Fix npm install electron@38.8.6
npm / electron
Introduced in: 39.0.0-alpha.1 Fixed in: 39.8.1
Fix npm install electron@39.8.1
npm / electron
Introduced in: 40.0.0-alpha.1 Fixed in: 40.8.1
Fix npm install electron@40.8.1
npm / electron
Introduced in: 41.0.0-alpha.1 Fixed in: 41.0.0
Fix npm install electron@41.0.0

References