Intel

AIKIDO-2026-873017

vm2 is vulnerable to Sandbox Escape

Sandbox EscapeGHSA-6454-5x88-m6jw Published Today

100

Critical Risk

This Affects:

JSvm2
0.1.0 - 3.12.0
Fixed in 3.12.1
Are you affected? Scan for Free

TL;DR

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.

Who does this affect?

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.

Background info

vm2 is vulnerable to Sandbox Escape in versions 0.1.0 - 3.12.0.

How to fix this

Upgrade the vm2 library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform