Sandbox escape in vm2 Promise callback sanitization
CVE-2026-22709 is a critical sandbox escape vulnerability in the vm2 Node.js sandbox library. In vm2 prior to 3.10.2, Promise callback sanitization can be bypassed because vm2 sanitizes callbacks on its local Promise handling path but does not correctly sanitize the global Promise path used by async functions. Specifically, in lib/setup-sandbox.js, localPromise.prototype.then is sanitized, while globalPromise.prototype.then/.catch handling is insufficient; async functions return globalPromise objects, creating a path where attacker-controlled callbacks can receive unsanitized host objects. Supporting analysis also indicates the vulnerable implementation used Function.prototype.call in global Promise handler paths, which could be intercepted by attacker-controlled code; the fix replaced this with Reflect.apply. Successful exploitation allows code running inside the vm2 sandbox to break isolation, recover host-realm objects, reach the Function constructor, and execute arbitrary code in the underlying Node.js host environment.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
No public exploits tracked yet. Mallory keeps watching.
No public exploit code observed for this vulnerability.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
48 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A prior vm2 vulnerability whose fix was incomplete, leaving an additional executor-to-unhandledRejection path unaddressed.
A previously disclosed critical vm2 sandbox escape flaw that could lead to arbitrary code execution on the host system.
A prior critical vm2 sandbox escape in vm2 3.10.0 caused by a gap in Promise callback sanitization, enabling arbitrary code execution.
vm2 sandbox escape leading to arbitrary code execution on the host OS.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.