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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| NodeJS | Node | >= 4.0, < 4.*; >= 5.0, < 5.*; >= 6.0, < 6.*; >= 7.0, < 7.*; >= 8.0, < 8.*; >= 9.0, < 9.*; >= 10.0, < 10.*; >= 11.0, < 11.*; >= 12.0, < 12.*; >= 13.0, < 13.*; >= 14.0, < 14.*; >= 15.0, < 15.*; >= 17.0, < 17.*; >= 19.0, < 19.*; >= 20.0, < 20.3.1 |
References
- https://hackerone.com/reports/1954535Issue Tracking, Third Party Advisory
- https://security.netapp.com/advisory/ntap-20230803-0008/Third Party Advisory
- https://hackerone.com/reports/1954535Issue Tracking, Third Party Advisory
- https://security.netapp.com/advisory/ntap-20230803-0008/Third Party Advisory
Timeline
- Published
- Jul 1, 2023
- Last modified
- Jun 17, 2026
- NVD status
- Modified