Description
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3, the check Electron uses on macOS to confirm it was launched by a same-signed parent process could be bypassed by a local process. Apps that enable fuse-based hardening restricting ELECTRON_RUN_AS_NODE and NODE_OPTIONS to same-signed parents rely on this check, and a local attacker could bypass it and run code inside the signed app, inheriting its TCC permissions and keychain access. This issue is fixed in 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| electron | electron | < 39.8.8, >= 40.0.0-alpha.1, < 40.9.0, >= 41.0.0-alpha.1, < 41.2.1, >= 42.0.0-alpha.1, < 42.0.0-beta.3 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | electron | < 39.8.8 | 39.8.8 | GHSA-jm7p-cc5g-qwxx |
| npm | electron | >= 40.0.0-alpha.1, < 40.9.1 | 40.9.1 | GHSA-jm7p-cc5g-qwxx |
| npm | electron | >= 41.0.0-alpha.1, < 41.2.1 | 41.2.1 | GHSA-jm7p-cc5g-qwxx |
| npm | electron | >= 42.0.0-alpha.1, < 42.0.0-beta.3 | 42.0.0-beta.3 | GHSA-jm7p-cc5g-qwxx |