Electron: Local race condition in Squirrel.Mac update installation on macOS
What fixes it
- 39.8.10electron, npmGitHub
npm install electron@39.8.10 - 41.10.5electron, npmGitHub
npm install electron@41.10.5 - 42.0.0-beta.2electron, npmGitHub
npm install electron@42.0.0-beta.2
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
On macOS, Electron bundles the Squirrel.Mac auto-update framework, whose privileged ShipIt helper performs the final step of an update as root. A local attacker could cause that helper to overwrite a different application's files, as root, instead of the app that started the update. Exploitation requires local access to the machine.
Apps are only affected on macOS if they ship Squirrel.Mac-based auto-updates. Apps on other platforms, or that do not use Squirrel.Mac auto-updates, are not affected.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.241.10.539.8.10
For more information
If you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)
Text from GitHub Advisory Database
Affected versions 9
- electron, npm< 39.8.10GitHub
- electron, npm>= 40.0.0-alpha.1, < 41.10.5GitHub
- electron, npm>= 42.0.0-alpha.1, < 42.0.0-beta.2GitHub
- electronaffected: < 39.8.10CVE List
- electronaffected: >= 40.0.0-alpha.1, < 41.10.5CVE List
- electronaffected: >= 42.0.0-alpha.1, < 42.0.0-beta.2CVE List
- electron, npmfrom first release, fixed in 39.8.10OSV
- electron, npmfrom 40.0.0-alpha.1, fixed in 41.10.5OSV
- electron, npmfrom 42.0.0-alpha.1, fixed in 42.0.0-beta.2OSV
References 10
- github.com/electron/electron/commit/01faabfc250801a980fc94d64608046c67fc1cd9Fixvia CVE List
- github.com/electron/electron/commit/15e2928a5c5f01759107b414010e220d90d59cefFixvia CVE List
- github.com/electron/electron/commit/a0f9ff4cc0340545008424232d49caadd9c0c767Fixvia CVE List
- github.com/electron/electron/commit/b8f25c4cedb2e0f5f475912b709aba19c57c26beFixvia CVE List
- github.com/electron/electron/releases/tag/v39.8.10Fixvia CVE List
- github.com/electron/electron/releases/tag/v41.10.5Fixvia CVE List
- github.com/electron/electron/releases/tag/v42.0.0-beta.2Fixvia CVE List
- github.com/electron/electron/security/advisories/GHSA-vv43-5jgx-7qv8Advisoryvia CVE List
- github.com/advisories/GHSA-vv43-5jgx-7qv8Advisoryvia GitHub
- github.com/electron/electron/pull/50745Referencevia CVE List