CVE-2023-30547
Sandbox Escape in vm2
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context. This vulnerability was patched in the release of version 3.9.17 of vm2. There are no known workarounds for this vulnerability. Users are advised to upgrade.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
Sandbox Escape in vm2
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context. This vulnerability was patched in the release of version 3.9.17 of vm2. There are no known workarounds for this vulnerability. Users are advised to upgrade.
- Record
CVE-2023-30547- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
EUVDEUVD-2023-1268
9.8
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context. This vulnerability was patched in the release of version 3.9.17 of vm2. There are no known workarounds for this vulnerability. Users are advised to upgrade.
- Record
EUVD-2023-1268- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-ch3r-j5x3-6q2m
9.8
vm2 Sandbox Escape vulnerability
There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context.
Impact
A threat actor can bypass the sandbox protections to gain remote code execution rights on the host running the sandbox.
Patches
This vulnerability was patched in the release of version 3.9.17 of vm2.
Workarounds
None.
References
PoC - https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244
For more information
If you have any questions or comments about this advisory:
- Open an issue in VM2
Thanks to Xion (SeungHyun Lee) of KAIST Hacking Lab for disclosing this vulnerability.
- Record
GHSA-ch3r-j5x3-6q2m- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
NVD
9.8
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context. This vulnerability was patched in the release of version 3.9.17 of vm2. There are no known workarounds for this vulnerability. Users are advised to upgrade.
- Record
CVE-2023-30547- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
OSV
9.8
Sandbox Escape in vm2
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context. This vulnerability was patched in the release of version 3.9.17 of vm2. There are no known workarounds for this vulnerability. Users are advised to upgrade.
- Record
CVE-2023-30547- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
OSVGHSA-ch3r-j5x3-6q2m
9.8
vm2 Sandbox Escape vulnerability
There exists a vulnerability in exception sanitization of vm2 for versions up to 3.9.16, allowing attackers to raise an unsanitized host exception inside handleException() which can be used to escape the sandbox and run arbitrary code in host context.
Impact
A threat actor can bypass the sandbox protections to gain remote code execution rights on the host running the sandbox.
Patches
This vulnerability was patched in the release of version 3.9.17 of vm2.
Workarounds
None.
References
PoC - https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244
For more information
If you have any questions or comments about this advisory:
- Open an issue in VM2
Thanks to Xion (SeungHyun Lee) of KAIST Hacking Lab for disclosing this vulnerability.
- Record
GHSA-ch3r-j5x3-6q2m- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2023-30547 No score
CVE-2023-30547 in vm2 - Patched by Root
Root has patched CVE-2023-30547 in the vm2 package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2023-30547- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
vm2npm |
before 3.9.17 | 3.9.17 |
vm2Root:npm |
before 3.9.7-aikido.5 | 3.9.7-aikido.53.9.7-aikido.63.9.17-aikido.113.9.17-aikido.123.9.17-aikido.43.9.17-aikido.133.9.17-aikido.53.9.17-aikido.63.9.17-aikido.73.9.17-aikido.83.9.17-aikido.93.9.17-aikido.10 |
@rootio/vm2Root:npm |
before 3.9.7-root.io.5 | 3.9.7-root.io.53.9.7-root.io.63.9.17-root.io.13.9.17-root.io.23.9.17-root.io.33.9.17-root.io.113.9.17-root.io.123.9.17-root.io.43.9.17-root.io.133.9.17-root.io.53.9.17-root.io.63.9.17-root.io.73.9.17-root.io.83.9.17-root.io.93.9.17-root.io.10 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | Cur1iosity/CVE-2023-30547 | 2024-02-14 |
| PoC in GitHub | R3fr4kt/Codify-TJNULL-OSCP- | 2026-08-03 |
| PoC in GitHub | junnythemarksman/CVE-2023-30547 | 2024-06-04 |
| PoC in GitHub | rvzsec/CVE-2023-30547 | 2023-12-10 |
| PoC in GitHub | user0x1337/CVE-2023-30547 | 2024-02-08 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-30547 is a critical vulnerability (CVSS 9.8) in Patriksimek Vm2, published April 17, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 73.0%, the 99th percentile. Fixed in vm2 3.9.17.
References
github.com/patriksimek/vm2/security/advisories/GHSA-ch3r-j5x3-6q2m
github.com/patriksimek/vm2/commit/4b22e87b102d97d45d112a0931dba1aef7eea049
github.com/patriksimek/vm2/commit/f3db4dee4d76b19869df05ba7880d638a880edd5
gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244
nvd.nist.gov/vuln/detail/CVE-2023-30547
github.com/patriksimek/vm2/releases/tag/3.9.17
github.com/advisories/GHSA-ch3r-j5x3-6q2m
github.com/CVEProject/cvelistV5/tree/main/cves/2023/30xxx/CVE-2023-30547.json
github.com/patriksimek/vm2