
React2Shell (CVE-2025-55182) Exploit
Um script Python que fornece um shell interativo para explorar a vulnerabilidade crítica de RCE (CVE-2025-55182) em aplicações React Server Components e Next.js vulneráveis. Este exploit visa a falha de desserialização que permite execução remota de código não autenticada. Ele inclui um sistema modular para adicionar técnicas de bypass de WAF.
[!NOTE] Este exploit foi projetado para interagir com o endpoint do protocolo RSC vulnerável. Os resultados da execução são capturados por meio do mecanismo de resposta do servidor. Comandos que não geram saída retornarão
(empty).
[!CAUTION] Este código é apenas para fins de pesquisa e educação. Destina-se a ajudar a entender, detectar e remediar a vulnerabilidade CVE-2025-55182. Não o utilize contra sistemas sem autorização explícita.
O uso deste script é por conta e risco do usuário, e o(s) autor(es) não assume(m) nenhuma responsabilidade por uso indevido ou consequências não intencionais.
Ao usar este código, o usuário reconhece e concorda com o seguinte:
- O usuário é o único responsável por quaisquer consequências legais decorrentes do uso deste script.
- O usuário não responsabilizará o(s) autor(es) por quaisquer danos, perdas ou ações legais resultantes do uso deste código.
- O usuário concorda em cumprir todas as leis e regulamentos aplicáveis.
- O usuário reconhece que usar este script contra sistemas sem permissão pode violar leis e termos de serviço, podendo levar a penalidades severas.
- O usuário é aconselhado a consultar seu próprio advogado antes de usar este código.
Este exploit possui um sistema modular dinâmico de bypass de WAF. Os módulos são armazenados no diretório waf_modules como arquivos Python separados. Cada módulo deve definir uma função modify_request(body, headers) que recebe o corpo e os cabeçalhos padrão da requisição, modifica-os conforme necessário para o bypass e retorna o novo body, headers.
bypass_custom.py) no diretório waf_modules contendo a função modify_request.--help para ver as opções de bypass disponíveis (por exemplo, --bypass-custom para bypass_custom.py). Use a flag correspondente para ativar o módulo.Exemplo: Um módulo bypass_vercel.py é incluído como exemplo, implementando técnicas potencialmente eficazes contra implantações da Vercel.
--modify-request)O script permite a modificação direta de determinados atributos do objeto requests.Session usado para fazer requisições HTTP. Isso oferece controle granular sobre aspectos como verificação de SSL, timeouts e potencialmente outras configurações de nível de sessão.
--modify-request <KEY> <VALUE>. O <KEY> corresponde a um atributo do objeto requests.Session (por exemplo, verify, timeout).<VALUE>: true/false viram booleanos, strings numéricas viram inteiros ou floats, caso contrário permanece uma string.--modify-request verify True--modify-request verify False (equivalente à antiga flag --insecure)python CVE-2025-55182.py --help-modify-request para uma visualização em árvore das opções comuns.requirements.txt)python -m venv venv e source venv/bin/activate em sistemas Unix-like ou venv\Scripts\activate no Windows).
pip install -r requirements.txt
waf_modules:
mkdir waf_modules
bypass_vercel.py) dentro deste diretório.Configurar um ambiente vulnerável (somente para testes):
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest
Mais informações: https://github.com/l4rm4nd/CVE-2025-55182
Executar o script:
python CVE-2025-55182.py --help # To see all options, including WAF bypasses
# Example with a bypass module:
python CVE-2025-55182.py --host 127.0.0.1 --port 3000 --endpoint / --bypass-vercel
Se não usar argumentos de linha de comando, o script solicitará interativamente host, porta e endpoint.
Interagir com o shell:
exit ou quit para encerrar a sessão do shell.