WebAssembly exception-handling sandbox escape in vm2
CVE-2026-26956 is a protection mechanism failure in the vm2 sandbox library for Node.js, confirmed in vm2 3.10.4 on Node.js 25.6.1. Attacker-controlled code inside VM.run() can trigger a host-realm TypeError through Symbol-to-string coercion during stack-trace formatting. A WebAssembly try_table instruction with a WebAssembly.JSTag handler intercepts the exception below vm2’s JavaScript-level exception sanitization and bridge protections, exposing an unsanitized host object to sandboxed code. Its constructor chain enables access to the host Function constructor and Node.js process object, allowing full sandbox escape and arbitrary host command execution without host cooperation. Earlier vm2 releases may also be affected. The vulnerability is fixed in vm2 3.10.5.
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.
Successful exploitation defeats vm2 isolation and permits arbitrary code and operating-system command execution in the host process context. The attacker gains access to the host Node.js process object and capabilities available to that process. Root-level execution was demonstrated in a sample environment, but root privileges are not an inherent outcome; effective privileges depend on the hosting process.
If you can’t patch tonight, do this now.
Until patched, prevent attacker-controlled JavaScript and WebAssembly from executing through VM.run() on affected deployments. Add stronger isolation around untrusted-code workloads rather than relying solely on vm2’s in-process sandbox. No dedicated workaround is documented for this vulnerability.
Patch, then assume compromise.
Upgrade vm2 to version 3.10.5 or later, which contains the fix for CVE-2026-26956. Use a maintained release incorporating subsequent security fixes when addressing the broader set of vm2 vulnerabilities.
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.
34 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.