Impact
The vulnerability resides in the vm2 sandbox, allowing host object identity to be preserved when resolving host Promises that are exposed to the sandbox. This breach of isolation permits sandbox code to directly reference and manipulate host objects, including performing WeakMap identity checks and mutating host object state. Consequently, the sandbox can effectively escape its protected boundary, enabling an attacker to run arbitrary code or alter data on the host environment.
Affected Systems
Vendor patriksimek’s vm2 library, version 3.10.x and earlier. The issue is fixed in 3.11.0; any deployment using a pre‑3.11.0 release of vm2 on Node.js is vulnerable.
Risk and Exploitability
CVSS score 6.5 indicates moderate severity. EPSS score is unknown, making exploitation probability unclear. The vulnerability is not listed in the CISA KEV catalog. Attack requires the ability to provide a host Promise that resolves to a host object and exposes it to the sandbox; if an application passes such a Promise to vm2, the sandbox can use the returned object directly. The exploit does not need elevated privileges beyond the sandbox context, but its impact can affect the host process.
OpenCVE Enrichment
Github GHSA