Sandbox Escape in vm2 Exception Sanitization
CVE-2023-30547 is a critical sandbox-escape vulnerability in the vm2 Node.js library affecting versions up to and including 3.9.16. vm2 is intended to execute untrusted JavaScript in a restricted context with whitelisted built-in Node.js modules. The flaw is in exception sanitization: an attacker can cause an unsanitized host exception to be raised inside handleException(), allowing host-side objects or execution context to cross the sandbox boundary. This breaks vm2’s isolation guarantees and enables arbitrary code execution in the host context. The issue was reported by SeungHyun Lee and fixed in vm2 3.9.17.
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
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository contains a proof-of-concept exploit for CVE-2023-30547, a sandbox escape vulnerability in vm2 (<3.9.17) for Node.js. The exploit is implemented in 'exploit.py', a Python script that provides an interactive shell interface. The user supplies the URL of a target service running a vulnerable vm2 sandbox. The script encodes a malicious JavaScript payload (which exploits the exception sanitization flaw to escape the sandbox and execute arbitrary system commands) in base64 and sends it as a JSON payload to the target via HTTP POST. The exploit expects the target to accept a JSON object with a 'code' field and to execute the provided code in the vm2 sandbox. The README provides background, usage instructions, and references. The repository is structured simply, with a single exploit script and a README. No hardcoded endpoints are present; the user must specify the target URL at runtime.
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
3 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A previously disclosed vm2 sandbox escape vulnerability referenced as part of a history of similar issues.
A critical vm2 sandbox-escape vulnerability with a released exploit.
A critical vm2 JavaScript library sandbox escape vulnerability enabling arbitrary code execution in the host context via an unsanitized host exception, allowing bypass of sandbox protections.
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.