Node.js 18 Weak Randomness WebCrypto Keygen EntropySource Flaw
CVE-2022-35255 Published on December 5, 2022

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.

Vendor Advisory NVD

Vulnerability Analysis

CVE-2022-35255 can be exploited with network access, and does not require authorization privileges or user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have a high impact on confidentiality and integrity, and no impact on availability.

Attack Vector:
NETWORK
Attack Complexity:
LOW
Privileges Required:
NONE
User Interaction:
NONE
Scope:
UNCHANGED
Confidentiality Impact:
HIGH
Integrity Impact:
HIGH
Availability Impact:
NONE

Weakness Type

What is a PRNG Vulnerability?

The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.

CVE-2022-35255 has been classified to as a PRNG vulnerability or weakness.


Products Associated with CVE-2022-35255

You can be notified by email with stack.watch whenever vulnerabilities like CVE-2022-35255 are published in these products:

 
 
 

Affected Versions

NodeJS Node:

Exploit Probability

EPSS
1.19%
Percentile
78.59%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.