Critical severity · published Apr 6, 2023
CVE-2023-29017
vm2 Sandbox Escape vulnerability
9.8
CVSS
63.2%
EPSS
No
On KEV
Description
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. Prior to version 3.9.15, vm2 was not properly handling host objects passed to `Error.prepareStackTrace` in case of unhandled async errors. A threat actor could bypass the sandbox protections to gain remote code execution rights on the host running the sandbox. This vulnerability was patched in the release of version 3.9.15 of vm2. There are no known workarounds.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)63.2% · higher than 99% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
VM
vm2 · patriksimek
< 3.9.15 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2023-29017
CVE.org
https://www.cve.org/CVERecord?id=CVE-2023-29017
Exploit
https://gist.github.com/seongil-wi/2a44e082001b959bfe304b62121fb76d
Patch
https://github.com/patriksimek/vm2/commit/d534e5785f38307b70d3aac1945260a261a94d50
Exploit
https://github.com/patriksimek/vm2/issues/515
Vendor Advisory
https://github.com/patriksimek/vm2/security/advisories/GHSA-7jxr-cg7f-gpgv
More from vm2
10.0
CVE-2026-93606
vm2 before 3.12.1 Sandbox Escape via Promise Symbol.species
10.0
CVE-2026-93605
vm2 NodeVM before 3.12.1 Remote Code Execution via child_process
10.0
CVE-2026-93603
vm2 before 3.12.1 Sandbox Escape RCE via Non-Strict Host Function
10.0
CVE-2026-92960
vm2 before 3.11.6 Process-wide State Exposure via os and dns
10.0
CVE-2026-92956
vm2 3.10.1 through 3.11.6 Sandbox Escape via WebAssembly.compileStreaming
