
Detecção do vetor de exploração das React Server Actions – CVE-2025-55182 / CVE-2025-66478
Detecção para CVE-2025-55182 / CVE-2025-66478 – React Server Components / Next.js
Este repositório contém um script Nmap Scripting Engine (NSE) escrito em Lua projetado para detectar com segurança a vulnerabilidade crítica conhecida como React2Shell, que afeta implementações de React Server Components (RSC) e React Server Actions (RSA) — incluindo muitas implantações Next.js.
O método de detecção utiliza uma técnica de canal lateral não intrusiva baseada no comportamento de erro do servidor ao manipular payloads React Flight malformados. Nenhuma exploração, execução de código ou operações inseguras são realizadas.
React2Shell (CVE-2025-55182 / CVE-2025-66478) é uma falha crítica de design nos pipelines React Server Components que pode permitir:
A vulnerabilidade é acionada quando o React tenta resolver referências React Flight manipuladas, como:
["$1:aa:aa"]
Em servidores vulneráveis, isso produz um erro 500 contendo o padrão característico:
E{"digest":"..."}
Este script detecta esse padrão sem tentar qualquer operação prejudicial.
✔ Detecção segura e passiva (sem exploração, sem tentativas de RCE)
✔ Detecta a assinatura de crash React Flight de alta fidelidade
✔ Funciona em HTTP e HTTPS
✔ Caminhos e timeouts configuráveis pelo usuário
✔ Evita automaticamente falsos positivos de mitigações Vercel/Netlify
✔ Saída compatível com pipelines automatizados e ingestão SIEM
✔ Leve e adequado para red teaming, bug bounty, resposta a incidentes e varreduras CI/CD
git clone https://github.com/MoisesTapia/http-react2shell.git
cd http-react2shell
Coloque o arquivo dentro do diretório de scripts do Nmap:
sudo cp http-react2shell.nse /usr/share/nmap/scripts/
Atualize o índice de scripts:
sudo nmap --script-updatedb
nmap -p80 --script http-react2shell <host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/api/action'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/,react2shell.timeout=20000'
<host>
nmap -iL targets.txt -p80,443 \
--script http-react2shell
nmap -sV -p80,443 \
--script "http-react2shell,http-headers,http-server-header,http-security-headers" \
<host>
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| No characteristic crash pattern observed.
| This suggests the tested endpoint is not vulnerable or is patched,
|_ but this is not a guarantee (other RSC/Server Actions paths may exist).
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| VULNERABLE: possible React2Shell (CVE-2025-55182 / CVE-2025-66478)
| Evidence: HTTP 500 + digest-like pattern found in response
|_ Notes: high-fidelity side-channel; verify manually and patch immediately.
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
|_ ERROR: HTTP request failed (connection reset by peer)
https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
https://github.com/sammwyy/R2SAE
Artigos de análise técnica e trabalhos de pesquisa sobre os internos do React Flight
Este projeto é fornecido apenas para fins educacionais, de pesquisa e defesa de segurança. Não escaneie sistemas que você não possui ou para os quais não tem permissão explícita para testar. Os mantenedores não se responsabilizam pelo uso indevido ou por qualquer dano resultante.
Pull requests, melhorias e heurísticas de detecção adicionais são bem-vindos. Você pode contribuir com:
Se esta ferramenta ajudar você em red teaming, bug bounty ou segurança defensiva, considere dar uma estrela ⭐ no repositório do GitHub!