Intel

AIKIDO-2026-98028

vm2 is vulnerable to Sandbox Escape

Sandbox EscapeGHSA-wjwh-qqvp-g4p4 Published 2 days ago

100

Critical Risk

This Affects:

JSvm2
3.10.1 - 3.11.6
Fixed in 3.11.7
Are you affected? Scan for Free

TL;DR

The streaming WebAssembly APIs return a promise whose machinery is host-realm rather than sandbox-realm, so a host-realm rejection bypasses the sandbox's promise hardening. Using Promise.prototype.finally together with species control, sandboxed code captures the host error object. It then reaches the host Function constructor through the error's constructor chain to recover the host process object and escape the sandbox. The fix removes the streaming WebAssembly compile and instantiate functions from the sandbox.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you run untrusted code on Node.js 26 where the sandbox can reach the streaming WebAssembly APIs.

Background info

vm2 is vulnerable to Sandbox Escape in versions 3.10.1 - 3.11.6.

How to fix this

Upgrade the vm2 library to the patch version.