CVE-2023-30590: Node.js

High severity, CVSS 7.5. EPSS: 1.5% chance of exploitation in the next 30 days.

The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corresponding public key after calling setPrivateKey(). However, the documentation says this API call: "Generates private and public Diffie-Hellman key values". The documented behavior is very different from the actual behavior, and this difference could easily lead to security issues in applications that use these APIs as the DiffieHellman may be used as the basis for application-level security, implications are consequently broad.

Affected products

  • Node.js Node.js: from 16.0.0, before 16.20.1 (fixed in 16.20.1); from 18.0.0, before 18.16.1 (fixed in 18.16.1); from 20.0.0, before 20.3.1 (fixed in 20.3.1)

Published 2023-11-28. Last modified 2026-10-08.