vm2 NodeVM nesting require-restriction bypass and sandbox escape
CVE-2026-44007 is an improper access control vulnerability in the vm2 sandbox library for Node.js before version 3.11.1. When NodeVM is configured with nesting: true, sandboxed code can import vm2 regardless of the outer VM's module-loading restrictions, including require: false. The imported library allows attacker-controlled code to construct an inner NodeVM with unrestricted require settings and execute arbitrary operating-system commands on the host. Applications executing untrusted code in this configuration can be fully compromised.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Exploitation bypasses the outer NodeVM's module-loading restrictions and breaks the sandbox isolation boundary, enabling arbitrary operating-system command execution on the host and full compromise of the affected application.
If you can’t patch tonight, do this now.
Do not enable nesting: true in NodeVM instances that execute untrusted code. The outer VM's require restrictions, including require: false, do not prevent this escape in affected versions.
Patch, then assume compromise.
Upgrade upstream vm2 to version 3.11.1 or later. Version 3.11.1 rejects construction of a NodeVM configured with nesting: true and require: false. For Echo-distributed packages, the specified fixed release is vm2 and related packages version 3.11.0+echo.1 or later. Disabling nesting remains important for untrusted workloads because nesting is an escape hatch by design.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
15 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.