Back to CVE records
Critical 10.0Published Sep 18, 2026

CVE-2026-93603vm2 before 3.12.1 Sandbox Escape RCE via Non-Strict Host Function

Updated under an hour ago ()

Does this affect you?

It affects patriksimek vm2. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

vm2 through 3.12.0 (fixed in 3.12.1) does not correctly handle a nullish `this` receiver in the apply trap of its bridge (lib/bridge.js): when sandboxed code calls a host-provided non-strict (sloppy-mode) function without a receiver — e.g. `fn()`, a detached method, `fn.call()`, `fn.apply(undefined)`, `Reflect.apply(fn, undefined, [])`, or `fn.bind()()` — the undefined receiver is passed straight through to the host call, and V8 substitutes the host realm's global object for `this`. vm2 then wraps and returns that object to the sandbox, giving sandboxed script a live proxy of the host global. This allows a complete sandbox escape: untrusted script can reach `process` and execute arbitrary code/commands on the host (for example via `process.getBuiltinModule('child_process').execSync`). Exploitation requires that the embedding application expose at least one non-strict host function to the sandbox; strict-mode and ES module host functions are not affected.

CVSS
10.0 CRITICAL (v3.1, CNA)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness (CWE)
CWE-94
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
VulnCheck
NVD analysis
Deferred
Record last updated
Sep 22, 2026
First seen by InfoSec Signals
Oct 9, 2026

Affected products

Affected products
patriksimek vm2
patriksimek:vm2 (from the name)
before 3.12.1; 3.12.1 not affected
CNA record

References

  • vendor-advisory
  • third-party-advisory

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.