Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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 — Pesquisa de tese de mestrado sobre CVE-2025-55182 (React2Shell). Framework de exploração modular com 6 cenários de ataque (RCE, exfiltração, desfiguração), shell reverso interativo e um laboratório vulnerável completo para estudar Prototype Pollution e Desserialização Insegura em React Server Components. | Kitploit
Ferramentas/GitHubGitHub/devianntsec/cve-2025-55182
Frameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoTestes de PenetraçãoPapers e PesquisaAprendizado e EducaçãoFerramenta de Acesso Remoto
Desenvolvimento de Payloads
Labs e Prática
GitHubdevianntsec/cve-2025-55182

CVE-2025-55182

Ver Repositório
113há 5 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 →

Sobre

Pesquisa de tese de mestrado sobre CVE-2025-55182 (React2Shell). Framework de exploração modular com 6 cenários de ataque (RCE, exfiltração, desfiguração), shell reverso interativo e um laboratório vulnerável completo para estudar Prototype Pollution e Desserialização Insegura em React Server Components.

Compartilhar

CVE-2025-55182 — React2Shell: Exploit Avançado & Pesquisa de Dissertação de Mestrado

Platform Language License: MIT Research CVSS

Desserialização de Dados Não Confiáveis + Poluição de Protótipo em React Server Components
Execução Remota de Código Não Autenticada via Next.js Server Actions
Afetado: React 19.0.0 - 19.2.0 · Correção: React 19.0.1 / 19.1.2 / 19.2.1 (3 de dezembro de 2025)


Demonstração do exploit avançado — comandos básicos de RCE, shell interativo e múltiplos vetores de ataque contra uma aplicação Next.js vulnerável

Descrição

Este repositório contém minha pesquisa de Dissertação de Mestrado sobre CVE-2025-55182, uma vulnerabilidade Crítica (CVSS v3.1: 10.0) de Execução Remota de Código em React Server Components.

A vulnerabilidade origina-se de um mecanismo inseguro de desserialização no protocolo React Flight. Ao processar Server Actions, o Next.js desserializa payloads multipart recebidos sem validação adequada. Um atacante pode criar um payload malicioso que polui a cadeia de protótipos e injeta JavaScript arbitrário, o qual é executado no servidor por meio do construtor Function (e subsequentemente via child_process.execSync()).

Nota sobre CVE-2025-66478: A Vercel emitiu um CVE paralelo para rastrear o impacto específico no Next.js desta mesma vulnerabilidade. Como o Next.js empacota o React de forma vendored, muitos scanners de dependências não a detectam automaticamente como vulnerável. O Banco de Dados Nacional de Vulnerabilidades dos EUA (NVD) rejeitou oficialmente o CVE-2025-66478 como duplicado do CVE-2025-55182, embora ele continue sendo referenciado no advisory de segurança da própria Vercel.

Vulnerabilidades subsequentes: A equipe do React divulgou posteriormente dois problemas adicionais presentes nas versões iniciais da correção (19.0.1, 19.1.2, 19.2.1): CVE-2025-55184 (Negação de Serviço, CVSS 7.5) e CVE-2025-55183 (Exposição de Código-Fonte, CVSS 5.3). Os usuários devem atualizar para 19.0.2, 19.1.3 ou 19.2.2 para resolver os três.

Minha Contribuição

AspectoDescrição
Quatro módulos de ataqueExcluir projetos, desfigurar site, roubar variáveis de ambiente, desligar servidores
Shell interativoShell persistente com comandos especiais e capacidades de restauração
Exfiltração estávelLeitura linha por linha para contornar as limitações de tamanho do cabeçalho HTTP
Script de restauraçãoRestauração segura do laboratório após ataques
Documentação acadêmicaCausa raiz, detalhamento do payload e cronologia da vulnerabilidade

Estrutura do Repositório

CVE-2025-55182/
├── README.md                        # This file
├── LICENSE                          # MIT License
│
├── exploit/
│   ├── exploit-explanation.md       # Exploit usage documentation
│   └── react2shell.py               # Main exploit — 4 attack modules + interactive shell
│
├── vulnerable-app/                  # Vulnerable Next.js application
│   ├── README.md                    # Original vulnapp credits
│   ├── package.json                 # React 19.0.0 (vulnerable)
│   ├── app/                         # Application source code
│   ├── curl_id.sh                   # Original exploit script (by zack0x01)
│   └── scripts/
│       └── restore.sh               # Restoration script (my contribution)
│
└── docs/
    ├── screenshots/                 # Exploitation demonstrations
    │   ├── 01-app-initial.png
    │   ├── 02-rce-basic.png
    │   ├── 03-interactive-shell.png
    │   ├── 04-no-payload.png
    │   ├── 05-delete-result.png
    │   ├── 06-deface.png
    │   ├── 07-shutdown-servers.png
    │   ├── 08-restore-from-script.png
    │   └── 09-restore-from-interactive-shell.png
    │
    └── analysis/
        ├── 01-root-cause.md         # Vulnerability root cause analysis
        ├── 02-payload-breakdown.md  # Payload structure and execution flow
        └── 03-timeline.md           # CVE timeline

Início Rápido

Pré-requisitos

  • Node.js 18+ e npm
  • Python 3.9+
  • Aplicação Next.js vulnerável (fornecida em vulnerable-app/)
  • VM isolada recomendada para testes

Passo 1 — Iniciar a aplicação vulnerável

cd vulnerable-app
npm install --legacy-peer-deps
npm run dev
# App available at http://localhost:3000

Passo 2 — Executar o exploit

cd ../exploit

# Check if target is vulnerable
python3 react2shell.py -u http://localhost:3000 --check

# Execute single command
python3 react2shell.py -u http://localhost:3000 -c "whoami"

# Interactive shell mode
python3 react2shell.py -u http://localhost:3000 -i

Módulos de Ataque

MóduloComandoDescriçãoImpacto
Excluir Projetos--delete-projectsExclui todos os projetos do painelDestruição de dados
Deface--deface "message"Substitui a página principalDesfiguração
Roubar Ambiente--steal-envRouba variáveis de ambienteExfiltração
Desligar Servidores--shutdown-serversDesliga todos os servidoresNegação de Serviço

Visão Geral Técnica

Causa Raiz da Vulnerabilidade

React Server Components usam um mecanismo customizado de serialização/desserialização (o protocolo "Flight") para enviar dados de componentes do servidor para o cliente. Ao processar server actions, o servidor desserializa os payloads recebidos sem validação adequada.

A falha central é a confiança comportamental: o desserializador verifica typeof obj.then === 'function' para identificar Promises, sem verificar se a propriedade pertence diretamente ao objeto. Isso permite que um atacante envenene Object.prototype.then, fazendo com que todo objeto comum pareça um thenable.

Um atacante pode criar um payload malicioso que:

  1. Polui a cadeia de protótipos usando __proto__:then
  2. Redireciona a resolução para o construtor Function via $1:constructor:constructor
  3. Executa JavaScript arbitrário via new Function(_prefix)
  4. Executa comandos do sistema via process.mainModule.require('child_process').execSync()
  5. Exfiltra a saída por meio do cabeçalho de resposta HTTP X-Action-Redirect
User-mode (unauthenticated)
  │
  ├─ POST / (Next.js Server Action endpoint)
  │    ├─ Headers: Next-Action: x
  │    └─ Multipart body with malicious JSON
  │
  └─ React Flight deserializer processes payload
       └─ Prototype pollution via __proto__:then
            └─ Function constructor reached via $1:constructor:constructor
                 └─ new Function(_prefix) executes attacker's JavaScript
                      └─ execSync() runs system command
                           └─ Output embedded in NEXT_REDIRECT error
                                └─ Next.js converts to X-Action-Redirect header

Esclarecimento de Escopo

A vulnerabilidade afeta qualquer aplicação Next.js que use o App Router com React Server Components — a configuração padrão desde o Next.js 14. Server Actions definidas explicitamente não são necessárias; a mera presença dos pacotes RSC afetados é suficiente.

Por Que Isso Importa

Baixar ferramenta