Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) Affecting nodejs package, versions <16.17.1-r0


Severity

Recommended
0.0
critical
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.26% (66th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ALPINE320-NODEJS-7010425
  • published23 May 2024
  • disclosed5 Dec 2022

Introduced: 5 Dec 2022

CVE-2022-35255  (opens in a new tab)
CWE-338  (opens in a new tab)

How to fix?

Upgrade Alpine:3.20 nodejs to version 16.17.1-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream nodejs package and not the nodejs package as distributed by Alpine. See How to fix? for Alpine:3.20 relevant fixed versions and status.

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.

CVSS Scores

version 3.1