
Vulnerabilidade React2Shell (CVE-2025-55182 / CVE-2025-66478) Script Completo
Uma ferramenta de prova de conceito para demonstrar a vulnerabilidade crítica React2Shell (CVE-2025-55182 / CVE-2025-66478) apenas em ambientes de teste autorizados e locais.
Esta vulnerabilidade (CVSS 10.0) está sendo ativamente explorada por atores de ameaças sofisticados. A Inteligência de Ameaças da Amazon relata que vários grupos patrocinados por estados da China, incluindo Earth Lamia e Jackpot Panda, começaram a armamentizar explorações públicas em horas após a divulgação. A Agência de Segurança Cibernética e de Infraestrutura (CISA) dos EUA adicionou-a ao seu catálogo de Vulnerabilidades Exploradas Conhecidas (KEV).
CVE-2025-55182 (React2Shell) é uma vulnerabilidade crítica de Execução Remota de Código (RCE) sem autenticação prévia no protocolo "Flight" dos Componentes de Servidor React (RSC). Um identificador separado, CVE-2025-66478, foi atribuído para Next.js, mas posteriormente rejeitado como duplicata do CVE-2025-55182, pois ambos compartilham a mesma causa raiz.
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Alvo específico
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
A vulnerabilidade se origina em pacotes React específicos, afetando qualquer framework que os empacote.
Não Afetados: Next.js 13.x, versões estáveis do Next.js 14.x, aplicações Pages Router e o Edge Runtime não são afetados.
O protocolo RSC Flight serializa dados para comunicação cliente-servidor. A vulnerabilidade reside na lógica de desserialização no servidor, que expande propriedades de objetos da carga útil recebida sem validação adequada. Isso permite que um atacante injete chaves maliciosas (como __proto__ ou constructor) na requisição, levando à poluição de protótipo.
Uma vez que a cadeia de protótipos é poluída, o servidor segue caminhos de execução influenciados pelo atacante. Isso pode ser encadeado para executar código JavaScript arbitrário com privilégios de servidor, resultando em Execução Remota de Código (RCE) completa.
Pesquisadores de segurança observaram explorações bem-sucedidas levando a:
.aws/credentials).A correção é obrigatória e a única maneira de eliminar completamente a vulnerabilidade. Não há configuração para desabilitar o caminho de código vulnerável.
# Para usuários do Next.js, atualize para a versão corrigida mais recente em sua linha de versão.
# Exemplo: Se você está no Next.js 15.5.x:
npm install [email protected]
# Também certifique-se de atualizar as dependências React:
npm install react@latest react-dom@latest
Verifique se seus arquivos package-lock.json ou yarn.lock refletem as versões corrigidas dos pacotes react-server-dom-* (19.0.1, 19.1.2 ou 19.2.1).
Enquanto corrige, implante regras de Firewall de Aplicação Web (WAF) para bloquear tentativas de exploração:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) inclui regras para este CVE.cve-canary está disponível.Nota: Regras WAF são uma mitigação temporária e incompleta. Elas não substituem a necessidade de corrigir.
Revise logs para esses sinais de tentativas de exploração:
next-action ou rsc-action-id. Corpos de requisição contendo padrões como $@ ou "status":"resolved_model".whoami, id, uname), leituras de /etc/passwd ou gravações de arquivos em /tmp/ (por exemplo, pwned.txt) por processos Node.js.Esta ferramenta demonstra uma vulnerabilidade com pontuação CVSS de 10.0 (Severidade Máxima) que está sob exploração ativa patrocinada por estados.
Lembre-se: Esta ferramenta demonstra por que corrigir é urgente. Use este conhecimento para melhorar a segurança e defender sistemas, não para comprometê-los. Certifique-se de que todas as suas dependências estejam atualizadas para as versões corrigidas listadas acima.
| Componente | Versões Afetadas | Versões Corrigidas | Notas |
|---|
| Pacotes React ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | Fonte da falha upstream. |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 e posteriores | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | Framework primário afetado. |
| Outros Frameworks | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Plugin Vite RSC | Atualizar para versões que usam pacotes React corrigidos (>19.0.1, 19.1.2, 19.2.1). | Vulnerável se usar os pacotes React afetados. |