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.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published: 2023-06-30T23:40:08.238Z

Updated: 2024-08-02T14:28:51.808Z

Reserved: 2023-04-13T01:00:12.086Z

Link: CVE-2023-30586

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2023-07-01T00:15:10.247

Modified: 2023-11-17T18:10:10.547

Link: CVE-2023-30586

cve-icon Redhat

Severity : Moderate

Publid Date: 2023-06-20T00:00:00Z

Links: CVE-2023-30586 - Bugzilla