Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2023-30547 PoC — Sandbox Escape in vm2

Source
Associated Vulnerability
Title:Sandbox Escape in vm2 (CVE-2023-30547)
Description: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.
Readme
# 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
```
File Snapshot

[4.0K] /data/pocs/2a1ba36632cab5bda5cd9a2691dffa5d0cabb7db ├── [2.1K] exploit.py └── [1.0K] README.md 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →