What’s Vulnerable › Vulnerabilities
CVE-2023-30590
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2023-11-28 · updated 2026-10-08
Description
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: from 16.0.0 before 16.20.1; from 18.0.0 before 18.16.1; from 20.0.0 before 20.3.1 — fixed in 16.20.1, 18.16.1, 20.3.1
How to fix
Upgrade to a fixed version: Node.js 16.20.1, 18.16.1, 20.3.1. Check the vendor advisory for mitigations.
References
- https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html
- https://nodejs.org/en/blog/vulnerability/june-2023-security-releases
- https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html
- https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html
- https://nodejs.org/en/blog/vulnerability/june-2023-security-releases
- https://security.netapp.com/advisory/ntap-20241101-0011/
Get alerted when CVE-2023-30590 or the next vulnerability affects your stack