
Python-эксплоит для уязвимости обхода песочницы CVE-2023-30547 vm2. Генерирует base64-закодированный JSON-пэйлоад для открытия обратной оболочки из уязвимых сред песочницы Node.js.
vm2 — это песочница, которая может выполнять недоверенный код с использованием разрешённых встроенных модулей Node. Существует уязвимость в обработке исключений vm2 для версий до 3.9.16, позволяющая злоумышленникам вызвать неочищенное исключение хоста внутри handleException(), что может быть использовано для выхода из песочницы и выполнения произвольного кода в контексте хоста. Эта уязвимость была исправлена в выпуске версии 3.9.17 vm2. Известных обходных путей для этой уязвимости нет. Пользователям рекомендуется обновиться.
Python-код для PoC по адресу https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244. Используется в Codify HTB.
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