Description
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.10, 41.10.5, and 42.0.0-beta.2, Electron applications on macOS that use Squirrel.Mac-based automatic updates are vulnerable to a local race in the privileged ShipIt helper. The helper did not bind the validated update target to one canonical application-bundle path for the full installation, allowing a local attacker to redirect the root-level write so that it overwrites another application's files instead of the application that initiated the update. Applications on other platforms and macOS applications that do not use Squirrel.Mac-based automatic updates are not affected. This issue is fixed in versions 39.8.10, 41.10.5, and 42.0.0-beta.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| electron | electron | < 39.8.10, >= 40.0.0-alpha.1, < 41.10.5, >= 42.0.0-alpha.1, < 42.0.0-beta.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | electron | < 39.8.10 | 39.8.10 | GHSA-vv43-5jgx-7qv8 |
| npm | electron | >= 40.0.0-alpha.1, < 41.10.5 | 41.10.5 | GHSA-vv43-5jgx-7qv8 |
| npm | electron | >= 42.0.0-alpha.1, < 42.0.0-beta.2 | 42.0.0-beta.2 | GHSA-vv43-5jgx-7qv8 |
References
- https://github.com/electron/electron/security/advisories/GHSA-vv43-5jgx-7qv8
- https://github.com/electron/electron/pull/50745
- https://github.com/electron/electron/commit/01faabfc250801a980fc94d64608046c67fc1cd9
- https://github.com/electron/electron/commit/15e2928a5c5f01759107b414010e220d90d59cef
- https://github.com/electron/electron/commit/a0f9ff4cc0340545008424232d49caadd9c0c767
- https://github.com/electron/electron/commit/b8f25c4cedb2e0f5f475912b709aba19c57c26be
- https://github.com/electron/electron/releases/tag/v39.8.10
- https://github.com/electron/electron/releases/tag/v41.10.5
- https://github.com/electron/electron/releases/tag/v42.0.0-beta.2