# CVE-2023-30547
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.
## Description
Python code for PoC in https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244.
Used in Codify HTB.
## Usage
```
usage: exploit.py [-h] [-u URL] [-p PORT] [-i IP]
description: Opens a reverse shell from a vm2 vulnerable website using a base64-encoded payload in JSON format
options:
-h, --help show this help message and exit
-u URL, --url URL HTTP address of the destination website
-p PORT, --port PORT Port to listen on
-i IP, --ip IP Your IP address
```
[4.0K] /data/pocs/2a1ba36632cab5bda5cd9a2691dffa5d0cabb7db
├── [2.1K] exploit.py
└── [1.0K] README.md
0 directories, 2 files