CVE-2023-30586 Privilege escalation in Node

High 7.5 Published Updated

Attackers can bypass Node.js experimental permission model via OpenSSL engines to escalate privileges and disable security controls.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2023-30586?

CVE-2023-30586 is a high-severity vulnerability in Nodejs Node.js, published on 30 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

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

Weakness: CWE-862

Which versions are affected by CVE-2023-30586?

2 open source packages ship an affected version, including node and node-min. It affects 1 product.

PackageAffectedFixed in
node BitnamiFrom 20.0.020.3.1
node-min BitnamiFrom 20.0.020.3.1

Products include Nodejs Node.js.

How do I fix CVE-2023-30586?

Upgrade node to 20.3.1 or later.

Is CVE-2023-30586 being exploited?

There is no known exploitation of CVE-2023-30586 in the wild and no public exploit code.

All Nodejs Node.js vulnerabilities

Sources

Also known as BIT-node-2023-30586, BIT-node-min-2023-30586, GHSA-jvqw-9mq6-23h9.

Is CVE-2023-30586 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free