Skip to main content
← All vulnerabilities
CVE-2026-92956GHSA-WJWH-QQVP-G4P4

vm2 3.10.1 through 3.11.6 Sandbox Escape via WebAssembly.compileStreaming

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.11.7
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • patriksimek vm2

    From 3.10.1 · fixed in 3.11.7

  • vm2npm

    From 3.10.1 · fixed in 3.11.7

References 3

GitHub · patriksimek/vm2

vulncheck.com

GitHub · AraxyAI/CVE-2026-92956__vm2__test__20261012