CVE-2024-39698 json
Code Signing Bypass on Windows in electron-updater < 6.3.0-alpha.6
published 2y ago modified 2mo ago also EUVD-2024-2310 , GHSA-9jxc-qjr9-vjxq
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm electron-updater 6.3.0-alpha.6
- electron electron 6.3.0-alpha.6
Is CVE-2024-39698 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 2y ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/electron-userland/electron-builder/security/advisories/GHSA-9jxc-qjr9-vjxq referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | electron-updater | <6.3.0-alpha.6 |
6.3.0-alpha.6 |
Affected products
- electron-userland electron-builder
- electron electron
Classification
References
-
github.com
/electron-userland/electron-builder/pull/8295
web, issue-tracking, patch
-
github.com
/electron-userland/electron-builder/commit/ac2e6a25aa491c1ef5167a552c19fc2085cd427f
web, patch
-
github.com
/electron-userland/electron-builder/security/advisories/GHSA-9jxc-qjr9-vjxq
web, exploit, vendor-advisory, advisory
-
github.com
/electron-userland/electron-builder/blob/140e2f0eb0df79c2a46e35024e96d0563355fc89/packages/electron-updater/sr
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2024-39698
advisory
-
github.com
/electron-userland/electron-builder
package
Sources
- CVE List CVE-2024-39698
- GitHub Advisory GHSA-9jxc-qjr9-vjxq
- NVD CVE-2024-39698
- Maintainer advisory GHSA-9jxc-qjr9-vjxq
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of electron-userland/electron-builder published their own advisory on GitHub. Reviewed sources take precedence over it.