
Exploit em Python para a vulnerabilidade de sandbox escape CVE-2023-30547 no vm2. Gera um payload JSON codificado em base64 para abrir um reverse shell a partir de ambientes sandbox Node.js vulneráveis.
vm2 é uma sandbox que pode executar código não confiável com módulos integrados do Node na lista de permissões. Existe uma vulnerabilidade na sanitização de exceções do vm2 para versões até 3.9.16, permitindo que invasores gerem uma exceção de host não sanitizada dentro de handleException(), que pode ser usada para escapar da sandbox e executar código arbitrário no contexto do host. Esta vulnerabilidade foi corrigida no lançamento da versão 3.9.17 do vm2. Não existem soluções alternativas conhecidas para esta vulnerabilidade. Recomenda-se que os usuários atualizem.
Código Python para PoC em https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244. Usado no 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