Critical vm2 Sandbox Escape via Promise Callback Sanitization Bypass
A critical sandbox-escape vulnerability in the popular Node.js sandbox library vm2 allows attackers to bypass isolation and execute arbitrary code on the host. Tracked as CVE-2026-22709 (CVSS v3.1 9.8, AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), the issue stems from incomplete sanitization of Promise.prototype.then/Promise.prototype.catch callbacks in lib/setup-sandbox.js: local promise callbacks are sanitized, but global promise callbacks are not, and async functions return a globalPromise object that can be abused to reach unsanitized paths.
Public technical details describe an exploitation chain where an attacker leverages the unsanitized global promise catch behavior to obtain an error object’s constructor, traverse the prototype chain to the Function constructor, and then execute code outside the sandbox (including loading Node modules such as child_process to run system commands). The vulnerability affects vm2 versions prior to 3.10.2 (with some reporting noting exposure through 3.10.0 and below), and vm2 3.10.2 is identified as the fix; organizations running untrusted code via vm2 should prioritize upgrading and review any services that rely on vm2 for isolation.

Get ahead of threats like this
Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
How this story unfolded
5 events from the most recent confirmed update back to the earliest known activity.
Maintainers and media urge upgrades to vm2 3.10.3
After disclosure and the 3.10.2 fix, reporting highlighted vm2 3.10.3 as the latest recommended release, with claims it includes additional or all disclosed sandbox-escape fixes. Users were advised to upgrade beyond vulnerable versions immediately.
Technical analyses and PoCs detail arbitrary code execution path
Subsequent reporting published exploit details showing how attackers could abuse unsanitized global Promise behavior, traverse to the Function constructor, and execute host commands such as via child_process.execSync. Multiple sources described proof-of-concept exploit chains and working demonstrations.
CVE-2026-22709 is publicly disclosed as a critical vm2 sandbox escape
The vulnerability was publicly disclosed as CVE-2026-22709, affecting vm2 and allowing attackers to escape the Node.js sandbox and execute arbitrary code on the host. Reports describe the root cause as incomplete sanitization of Promise.prototype.then and Promise.prototype.catch when async functions return global Promise objects.
vm2 3.10.2 fully fixes CVE-2026-22709
The vm2 maintainers released version 3.10.2 to fully address CVE-2026-22709, a sandbox escape caused by improper sanitization of Promise callback handling. The fix covers affected versions prior to 3.10.2 and is referenced by the release tag, fixing commit, and GitHub Security Advisory.
vm2 3.10.1 partially fixes the sandbox escape flaw
A partial mitigation for the vm2 sandbox escape vulnerability was released in version 3.10.1, but the issue was not fully resolved. Later reporting states the flaw remained exploitable until a subsequent release.
Related entities
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
Sources
7 references tracked. Mallory keeps watching after this page renders.
Dissecting CVE-2026-22709: The Zombie Exploit in Node.js vm2 - TheCyberThrone
thecyberthrone.in
Open sourceCritical vm2 vulnerability allows sandbox escape and arbitrary code execution | SC Media
scworld.com
Open sourceCritical vm2 Node.js Flaw Allows Sandbox Escape and Arbitrary Code Execution
thehackernews.com
Open sourceCritical Vulnerability in VM2 Sandbox Library for Node.js Let Attackers run Untrusted Code
cybersecuritynews.com
Open sourceCritical bug in popular vm2 Node.js sandboxing library puts projects at risk | CSO Online
csoonline.com
Open sourceCVSS 9.8 Sandbox Escape: Critical vm2 Flaw Exposes Millions of Apps
securityonline.info
Open sourceCVE-2026-22709 - vm2 has a Sandbox Escape
cvefeed.io
Open sourceSee the full picture, correlated to your attack surface.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.


