
CVE-2025-55182 & CVE-2025-66478 Ferramenta de Detecção para Next.js RSC RCE
Um scanner de vulnerabilidades de linha de comando de alta fidelidade para detectar CVE-2025-55182 e CVE-2025-66478 (Execução Remota de Código) em aplicações Next.js que usam React Server Components (RSC).
Essas vulnerabilidades críticas afetam aplicações Next.js que usam React Server Components, permitindo execução remota de código não autenticado por meio de requisições POST multipartes manipuladas.
Versões afetadas:
Para detalhes técnicos, veja: Assetnote Research
O scanner envia uma requisição POST multiparte manipulada contendo um payload de prova de conceito de RCE que executa uma operação matemática determinística (). Hosts vulneráveis retornam o resultado no cabeçalho de resposta como .
41*271 = 11111X-Action-Redirect/login?a=11111| Modo | Descrição | Caso de Uso |
|---|---|---|
| RCE PoC (padrão) | Executa operação matemática inofensiva no alvo | Confirmação rápida de vulnerabilidade |
| Safe Check | Detecção por canal indireto via respostas de erro | Quando a execução de código não é desejada |
# Clone o repositório
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Instale as dependências
pip install -r requirements.txt
# Escanear um único alvo
python scanner.py -u https://example.com
# Escanear múltiplos alvos de um arquivo
python scanner.py -l hosts.txt
# Escaneamento multi-thread com saída JSON
python scanner.py -l hosts.txt -t 20 -o results.json
# Escanear com cabeçalhos personalizados
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
# Modo de detecção segura (sem execução de código)
python scanner.py -u https://example.com --safe-check
# Escanear alvos Windows
python scanner.py -u https://example.com --windows
# Modo de bypass de WAF
python scanner.py -u https://example.com --waf-bypass
# Bypass de WAF específico para Vercel
python scanner.py -u https://example.com --vercel-waf-bypass
# Combinar opções
python scanner.py -l hosts.txt -t 50 --waf-bypass --windows -o results.json
| Opção | Descrição |
|---|---|
-u, --url | URL única para verificar |
-l, --list | Arquivo contendo hosts (um por linha) |
-t, --threads | Número de threads concorrentes (padrão: 10) |
--timeout | Tempo limite de requisição em segundos (padrão: 10) |
-o, --output | Arquivo de saída para resultados (formato JSON) |
--all-results | Salvar todos os resultados, não apenas hosts vulneráveis |
-v, --verbose | Incluir corpo da resposta na saída |
-q, --quiet | Apenas exibir hosts vulneráveis |
--no-color | Desabilitar saída colorida no terminal |
-k, --insecure | Desabilitar verificação de certificado SSL |
-H, --header | Cabeçalho personalizado (pode ser usado várias vezes) |
--safe-check | Usar detecção segura por canal indireto em vez de RCE PoC |
--windows | Usar payload do Windows PowerShell em vez do shell Unix |
--waf-bypass | Adicionar dados lixo para contornar inspeção de conteúdo do WAF |
--waf-bypass-size | Tamanho dos dados lixo em KB (padrão: 128) |
--vercel-waf-bypass | Usar variante de payload para bypass do WAF da Vercel |
╔═══════════════════════════════════════════════════════════════╗
║ react2shell-scanner ║
║ Ferramenta de Detecção CVE-2025-55182 & CVE-2025-66478 ║
╚═══════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────┐
│ CONFIGURAÇÃO DO ESCANEAMENTO │
├─────────────────────────────────────────────────────────────┤
│ Alvos: 5 │
│ Threads: 10 │
│ Modo de Detecção: RCE PoC │
│ Tipo de Payload: Unix (Shell) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ ALVO: https://example.com │
├─────────────────────────────────────────────────────────────┤
│ Status: 🟢 SEGURO │
│ Status HTTP: 200 │
│ Tempo de Resposta: 245.32ms │
│ Servidor: Vercel │
└─────────────────────────────────────────────────────────────┘
═════════════════════════════════════════════════════════════════
RESUMO DO ESCANEAMENTO
═════════════════════════════════════════════════════════════════
Total de Alvos: 5
Vulneráveis: 0
Seguros: 5
Tempo Total de Escaneamento: 2.34s
═════════════════════════════════════════════════════════════════
Ao usar -o results.json, os resultados são salvos em formato JSON:
[
{
"url": "https://vulnerable-site.com",
"vulnerable": true,
"message": "RCE confirmado: X-Action-Redirect = /login?a=11111",
"status_code": 200,
"response_time": 342.15,
"server": "Next.js",
"payload_type": "rce-poc (Unix)",
"x_action_redirect": "/login?a=11111"
}
]
Esta ferramenta é destinada apenas para testes de segurança autorizados. Use este scanner apenas em sistemas para os quais você tenha permissão explícita para testar. O acesso não autorizado a sistemas de computador é ilegal.
Os autores não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.
Licença MIT - Veja o arquivo LICENSE para detalhes.
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Adiciona alguma funcionalidade incrível')git push origin feature/AmazingFeature)