What’s Vulnerable › Vulnerabilities
CVE-2026-92956: vm2 3.10.1 through 3.11.6 Sandbox Escape via WebAssembly.compileStreaming
- Severity: critical (CVSS 10.0 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-17 · updated 2026-09-17
- Weakness: CWE-693
Description
vm2 versions 3.10.1 through 3.11.6 contain a sandbox escape reachable from a default `new VM()` sandbox when running on Node.js 26. WebAssembly.compileStreaming and WebAssembly.instantiateStreaming can produce a raw host-realm Promise that rejects with a host-realm error object; by controlling Symbol.species via Promise.prototype.finally, sandbox code receives that raw host error, walks from the host error constructor to the host Function constructor, and recovers the real host `process` object, gaining host Node.js capabilities (e.g. access to host modules such as fs) in the context of the process running the sandbox. No NodeVM, require permission, host object injection, or otherwise unsafe configuration is required. This is a bypass of the fix for GHSA-6j2x-vhqr-qr7q, which removed the JSPI entry points WebAssembly.promising and WebAssembly.Suspending. The issue is fixed in 3.11.7.
Affected products
- patriksimek vm2: from 3.10.1 before 3.11.7 — fixed in 3.11.7
How to fix
Upgrade to a fixed version: patriksimek vm2 3.11.7. Check the vendor advisory for mitigations.
References
- https://github.com/patriksimek/vm2/security/advisories/GHSA-wjwh-qqvp-g4p4
- https://www.vulncheck.com/advisories/vm2-3.10.1-through-3.11.6-sandbox-escape-via-webassembly-compilestreaming
Get alerted when CVE-2026-92956 or the next vulnerability affects your stack