Vulnerability · Published Jul 9, 2024 · Assigned by GitHub_M
CVE-2024-39698Code Signing Bypass on Windows in electron-updater < 6.3.0-alpha.6
High 7.5
In plain English
A high-severity security flaw in electron-builder from electron-userland. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 37% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
electron-updater allows for automatic updates for Electron apps. The file `packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts` implements the signature validation routine for Electron applications on Windows. Because of the surrounding shell, a first pass by `cmd.exe` expands any environment variable found in command-line above. This creates a situation where `verifySignature()` can be tricked into validating the certificate of a different file than the one that was just downloaded. If the step is successful, the malicious update will be executed even if its signature is invalid. This attack assumes a compromised update manifest (server compromise, Man-in-the-Middle attack if fetched over HTTP, Cross-Site Scripting to point the application to a malicious updater server, etc.). The patch is available starting from 6.3.0-alpha.6.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | electron-updater | 6.3.0-alpha.6 | GHSA-9jxc-qjr9-vjxq |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| electron-userland | electron-builder | < 6.3.0-alpha.6 |
Weakness: CWE-154 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
References
- https://github.com/electron-userland/electron-builder/security/advisories/GHSA-9jxc-qjr9-vjxq x_refsource_CONFIRM
- https://github.com/electron-userland/electron-builder/pull/8295 x_refsource_MISC
- https://github.com/electron-userland/electron-builder/commit/ac2e6a25aa491c1ef5167a552c19fc2085cd427f x_refsource_MISC
- https://github.com/electron-userland/electron-builder/blob/140e2f0eb0df79c2a46e35024e96d0563355fc89/packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts#L35-L41 x_refsource_MISC