CVE-2022-29257: AutoUpdater module fails to validate certain nested components of the bundle
6.6
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.60761%
CWE
Published
6/16/2022
Updated
1/27/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| electron | npm | < 15.5.0 | 15.5.0 |
| electron | npm | >= 16.0.0, < 16.2.0 | 16.2.0 |
| electron | npm | >= 17.0.0, < 17.2.0 | 17.2.0 |
| electron | npm | >= 18.0.0-beta.1, <= 18.0.0-beta.5 | 18.0.0-beta.6 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper code signing validation of nested components in macOS update bundles. Electron's AutoUpdater relies on Squirrel.Mac's SUCodeSigningVerifier, which prior to the patch did not use the --deep flag or equivalent recursive validation when checking code signatures. This allowed attackers to embed malicious code in nested components that would pass top-level validation. The CWE-20 (Improper Input Validation) classification and macOS-specific advisory context align with this root cause. The patched versions likely introduced recursive validation via codesign --deep or similar mechanisms.