A weak randomness in WebCrypto keygen vulnerability exists in Node.js 18 due to a change…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and Red Hat.
Summary
A weak randomness in WebCrypto keygen vulnerability exists in Node.js 18 due to a change with EntropySource() in SecretKeyGenTraits::DoKeyGen() in src/crypto/crypto_keygen.cc. There are two problems with this: 1) It does not check the return value, it assumes EntropySource() always succeeds, but it can (and sometimes will) fail. 2) The random data returned byEntropySource() may not be cryptographically strong and therefore not suitable as keying material.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| NodeJS | Node | 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 15.0 and later; 17.0 and later; 18.0 to before 18.9.1 | 18.9.1 | Patch available | CNA |
- Node VendorNodeJS Affected 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 15.0 and later; 17.0 and later; 18.0 to before 18.9.1 Fixed in 18.9.1 Patch available CNA
CPE configurations NVD · 8
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* | 15.0.0 – 15.14.0; 16.0.0 – 16.12.0 | Vulnerable | NodeJS |
| cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:* | 16.13.0 to before 16.17.1 | Vulnerable | NodeJS |
| cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* | 18.0.0 to before 18.9.1 | Vulnerable | NodeJS |
| cpe:2.3:a:siemens:sinec_ins:*:*:*:*:*:*:*:* | before 1.0 | Vulnerable | Siemens |
| cpe:2.3:a:siemens:sinec_ins:1.0:-:*:*:*:*:*:* | 1.0 | Vulnerable | Siemens |
| cpe:2.3:a:siemens:sinec_ins:1.0:sp1:*:*:*:*:*:* | 1.0 sp1 | Vulnerable | Siemens |
| cpe:2.3:a:siemens:sinec_ins:1.0:sp2:*:*:*:*:*:* | 1.0 sp2 | Vulnerable | Siemens |
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* | 11.0 | Vulnerable | Debian |
- cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* Versions 15.0.0 – 15.14.0; 16.0.0 – 16.12.0 Vulnerable ·NodeJS
- cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:* Versions 16.13.0 to before 16.17.1 Vulnerable ·NodeJS
- cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* Versions 18.0.0 to before 18.9.1 Vulnerable ·NodeJS
- cpe:2.3:a:siemens:sinec_ins:*:*:*:*:*:*:*:* Versions before 1.0 Vulnerable ·Siemens
- cpe:2.3:a:siemens:sinec_ins:1.0:-:*:*:*:*:*:* Versions 1.0 Vulnerable ·Siemens
- cpe:2.3:a:siemens:sinec_ins:1.0:sp1:*:*:*:*:*:* Versions 1.0 sp1 Vulnerable ·Siemens
- cpe:2.3:a:siemens:sinec_ins:1.0:sp2:*:*:*:*:*:* Versions 1.0 sp2 Vulnerable ·Siemens
- cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* Versions 11.0 Vulnerable ·Debian
Remediation
- Fix · CNA Node (NodeJS) Fixed in 18.9.1
Red Hat 3 advisories
- RHSA-2022:7821 Released 2022-11-08 · Red Hat rating Importantnodejs:18 security update
- Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:18.9.1-1.module+el8.7.0+16806+4109802b.aarch64::nodejs:18, nodejs-1:18.9.1-1.module+el8.7.0+16806+4109802b.ppc64le::nodejs:18, nodejs-1:18.9.1-1.module+el8.7.0+16806+4109802b.s390x::nodejs:18 +20
- RHSA-2022:6963 Released 2022-10-18 · Red Hat rating Importantnodejs security update
- Red Hat Enterprise Linux AppStream (v. 9) nodejs-1:16.17.1-1.el9_0, nodejs-docs-1:16.17.1-1.el9_0, nodejs-full-i18n-1:16.17.1-1.el9_0 +2
- RHSA-2022:6964 Released 2022-10-17 · Red Hat rating Importantnodejs:16 security update
- Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:16.17.1-1.module+el8.6.0+16848+a483195a.aarch64::nodejs:16, nodejs-1:16.17.1-1.module+el8.6.0+16848+a483195a.ppc64le::nodejs:16, nodejs-1:16.17.1-1.module+el8.6.0+16848+a483195a.s390x::nodejs:16 +19
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2022:6964, RHSA-2022:7821 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2022:6963 |
Not affected: 3 products
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat Software Collections
Timeline
- 2026-10-02 Threatist record created from CVE-2022-35255
- 2026-10-03 Alias added: GHSA-p36x-w6hr-88jp
References
More NodeJS Node.js vulnerabilities
- TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
- TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
- TI-2016-01993 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… CVSS 3.1HIGH 7.5
- TI-2024-03325 Command injection vulnerability in programing languages on Microsoft Windows operating system. CVSS 3.1CRITICAL 9.8
- TI-2022-03472 X.509 Email Address Variable Length Buffer Overflow CVSS 3.1HIGH 7.5
- TI-2022-03315 X.509 Email Address 4-byte Buffer Overflow CVSS 3.1HIGH 7.5
Sources
- CVE-2022-35255 · CVE Program
- CVE-2022-35255 · NVD
- FIRST EPSS
- GHSA-p36x-w6hr-88jp · GitHub Advisory Database · CC BY 4.0
- CVE-2022-35255 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences