Impact
The vulnerability is a denylist bypass in the NodeVM built‑in system of the vm2 sandbox. The denylist, which should block dangerous Node.js built‑ins, omits the process object and the inspector/promises namespace. Code executed inside the sandbox can therefore obtain references to these host references, allowing it to run arbitrary code with the privileges of the host process. This represents a full remote code execution flaw, categorized as CWE‑693.
Affected Systems
The vulnerability affects the patriksimek:vm2 library for Node.js. Any installation of vm2 earlier than version 3.11.4 is susceptible. The patch was applied in the 3.11.4 release. Systems that embed vm2 to isolate untrusted JavaScript or other scripting languages are at risk if they are running these older versions.
Risk and Exploitability
The CVSS score of 10 indicates extremely high severity. The EPSS score of less than 1% reflects a low-but‑present probability of exploitation at the time of this assessment, and the issue is not listed in CISA KEV. Likely exploitation requires the ability to inject or run sandboxed code; an attacker could craft a payload that accesses the process or inspector/promises objects to escape the sandbox and execute host‑side code. Because the denial bypass is a logical flaw rather than a misconfiguration, any code supplied to NodeVM can potentially trigger it.
OpenCVE Enrichment
Github GHSA