[ CVE-2026-92944 · Published 17 Sep 2026 ]

vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector

CVSS 9.8 EPSS <1%Fix available

[ Why it matters ]Priority signals

  • Public proof-of-concept exploit exists (CISA SSVC)
  • Critical severity: CVSS 9.8

[ Description ]Official description

vm2 versions 3.10.2 through 3.11.6 contain a sandbox escape vulnerability on Node.js 26 where Promise.prototype.finally() bypasses vm2's wrapper protections due to a stale PromiseThenLookupChain protector in V8 14.6. Attackers can exploit this by creating an async function that returns a Promise with an attacker-controlled constructor Symbol.species, allowing them to reach the host Function constructor and process object for arbitrary code execution.

[ Fixes ]Fixes and patches

  • vm2 3.11.7Fixed version · GitHub Advisories · npm package vm2: upgrade to 3.11.7 or later (affected >= 3.10.2, <= 3.11.6)

[ Packages ]Affected open-source packages