Impact
vm2 is an open source VM/sandbox for Node.js. From versions 3.9.6 through 3.10.5 the bridge exposes mutable proxies that allow code executing in a default or inherited NodeVM to directly modify the shared host’s Object.prototype, Array.prototype, and Function.prototype via otherReflectSet and otherReflectDefineProperty. By altering these prototypes, an attacker can change fundamental JavaScript behavior used by the host application. This could affect logic, data validation, and control flow that relies on the original prototype definitions. The vulnerability was fixed in version 3.11.0.
Affected Systems
The affected product is patriksimek’s vm2 library. Versions 3.9.6 through 3.10.5 are impacted. The fix was released in 3.11.0. Any deployment of vm2 within this range without upgrading is affected.
Risk and Exploitability
The CVSS score of 10 marks the flaw as critical. The EPSS score is less than 1% (0.00831), indicating a low but non‑zero likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector involves an application that supplies attacker‑controlled JavaScript to a default NodeVM or inherits a NodeVM, thereby using the exposed bridge to mutate host prototypes. Because the attacker can alter core JavaScript objects, exploitation could compromise the correctness and security of the host application if not mitigated.
OpenCVE Enrichment
Github GHSA