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.
CVE ID: CVE-2023-30586
CVSS Base Severity: LOW
CVSS Base Score: 0.0
Vendor: Node.js
Product: https://github.com/nodejs/node
EPSS Score: 0.08% (probability of being exploited)
EPSS Percentile: 35.39% (scored less or equal to compared to others)
EPSS Date: 2025-02-03 (when was this score calculated)