vm2 is vulnerable to Sandbox Escape
100
Critical Risk
vm2 relays an embedder-exposed host-realm Promise into the sandbox through its bridge. Guest code overrides constructor[Symbol.species] on the raw host promise and calls .then/.catch/.finally with the settlement-direction handler omitted, so V8 substitutes an internal thrower that hands the raw host settlement value to a sandbox-captured capability. The rejection sanitizer is bypassed because it only neutralizes sandbox-realm promises and has no callback slot to intercept, letting guest code capture host references such as process and reach host code. The fix shadows the host promise's constructor so the result capability is always a genuine host Promise and extends the indirection peel to host Reflect.apply and .finally.
You are affected if you are using a version that falls within the vulnerable range and your embedding code exposes a host-realm Promise to the sandbox.
vm2 is vulnerable to Sandbox Escape in versions 0.1.0 - 3.12.0.
Upgrade the vm2 library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant
ISO 42001Compliant© All Intel data is openly available and commercially licensed.