What’s Vulnerable › Vulnerabilities
CVE-2023-30586
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2023-07-01 · updated 2026-06-17
- Weakness: CWE-862
Description
A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
Affected products
- Node.js: from 20.0.0 before 20.3.1 — fixed in 20.3.1
How to fix
Upgrade to a fixed version: Node.js 20.3.1. Check the vendor advisory for mitigations.
References
- https://hackerone.com/reports/1954535
- https://security.netapp.com/advisory/ntap-20230803-0008/
- https://hackerone.com/reports/1954535
- https://security.netapp.com/advisory/ntap-20230803-0008/
Get alerted when CVE-2023-30586 or the next vulnerability affects your stack