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 — Exploit de prova de conceito para CVE-2025-55182, um RCE não autenticado crítico em React Server Components. Inclui exploit Python automatizado, análise técnica, regras de detecção e configuração de ambiente de laboratório para testes de segurança autorizados. | Kitploit
Ferramentas/GitHubGitHub/tinashelorenzi/cve-2025-55182
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoDetecção de IntrusãoAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsLabs e Prática
GitHubtinashelorenzi/cve-2025-55182

CVE-2025-55182

Exploit de prova de conceito para CVE-2025-55182, um RCE não autenticado crítico em React Server Components. Inclui exploit Python automatizado, análise técnica, regras de detecção e configuração de ambiente de laboratório para testes de segurança autorizados.

Ver Repositório
3há 8 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

React2Shell (CVE-2025-55182) - Prova de Conceito

Uma prova de conceito abrangente e recurso educacional para CVE-2025-55182, uma vulnerabilidade crítica de execução remota de código que afeta React Server Components, com pontuação CVSS 10.0.

Python Version License CVSS

Aviso Legal

APENAS PARA FINS EDUCACIONAIS E DE TESTES AUTORIZADOS

Esta ferramenta é fornecida apenas para fins educacionais e testes de segurança autorizados. O acesso não autorizado a sistemas de computador é ilegal sob diversas leis, incluindo o Computer Fraud and Abuse Act (CFAA) nos Estados Unidos e legislação semelhante em todo o mundo.

Você deve:

  • Usar esta ferramenta apenas em sistemas que você possua ou para os quais tenha autorização escrita explícita para testar
  • Cumprir todas as leis locais, estaduais e federais aplicáveis
  • Usar esta ferramenta de forma responsável e ética

O autor e os colaboradores:

  • Não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta
  • Não endossam nem incentivam o acesso não autorizado a sistemas de computador
  • Fornecem esta ferramenta estritamente para fins educacionais e de segurança defensiva

Ao usar esta ferramenta, você reconhece que compreende e concorda com estes termos.

📋 Sumário

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Versões Afetadas
  • Análise Técnica
  • Instalação
  • Uso
  • Detecção
  • Remediação
  • Configuração do Ambiente de Laboratório
  • Referências
  • Contribuição
  • Autor

🎯 Visão Geral

React2Shell é uma vulnerabilidade crítica descoberta em dezembro de 2025 que afeta React Server Components (RSC) e frameworks que os implementam, especialmente Next.js. A vulnerabilidade permite execução remota de código não autenticada por meio de uma única requisição HTTP especialmente elaborada.

Este repositório contém:

  • ✅ Script de exploit automatizado em Python
  • ✅ Análise técnica detalhada
  • ✅ Regras de detecção (Snort, OSQuery)
  • ✅ Guia de configuração de ambiente de laboratório
  • ✅ Documentação abrangente

🔍 Detalhes da Vulnerabilidade

CampoDetalhes
ID CVECVE-2025-55182
Pontuação CVSS10.0 (Crítica)
Vetor de AtaqueRede
Complexidade do AtaqueBaixa
Privilégios NecessáriosNenhum
Interação do UsuárioNenhuma
ImpactoComprometimento total do sistema (RCE)
Data de DivulgaçãoDezembro de 2025

O Que Torna Isso Crítico?

  1. Nenhuma Autenticação Exigida - Explorável por qualquer atacante não autenticado
  2. Configurações Padrão Vulneráveis - Aplicativos Next.js padrão criados com create-next-app são exploráveis
  3. Alta Confiabilidade - Taxa de sucesso de exploração próxima de 100%
  4. Ampla Superfície de Ataque - Mais de 571.000 servidores públicos executando componentes React (dados do Shodan)
  5. Impacto Severo - Execução remota de código total com privilégios do processo Node.js

📦 Versões Afetadas

React Server Components

Versões vulneráveis:

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

Versões corrigidas:

  • React 19.0.1
  • React 19.1.2
  • React 19.2.1

Next.js

Versões vulneráveis:

  • Todas as versões ≥14.3.0-canary.77
  • Todas as versões 15.x (anteriores ao patch)
  • Todas as versões 16.x (anteriores ao patch)

Versões corrigidas:

  • Consulte os lançamentos do Next.js para versões atualizadas que incorporam os patches do React

Outros Frameworks Afetados

  • React Router (ao usar o modo RSC)
  • Waku
  • Redwood SDK
  • Vários frameworks habilitados para RSC

🔬 Análise Técnica

Causa Raiz

A vulnerabilidade existe na função requireModule dentro da lógica de desserialização do React Server Components:

root@kitploit:~
function requireModule(metadata) {  
  var moduleExports = __webpack_require__(metadata[0]);  
  return moduleExports[metadata[2]];  // VULNERABLE LINE - Prototype chain traversal
}

A falha permite que atacantes percorram a cadeia de protótipos de JavaScript por meio do protocolo React Flight, acessando o construtor Function por meio de propriedades como constructor.constructor, possibilitando a execução de código arbitrário.

Cadeia de Exploração

  1. Criação de Chunk Falso - O atacante envia dados de formulário multipart com um objeto de chunk especialmente elaborado
  2. Poluição de Protótipo - Explora __proto__ para criar uma estrutura autorreferente
  3. Abuso do Manipulador de Blob - Aciona o manipulador interno de desserialização de Blob do React
  4. Acesso ao Construtor de Função - Percorre constructor.constructor para acessar Function()
  5. Execução de Código - Injeta JavaScript arbitrário via child_process.execSync()

Diagrama do Fluxo de Ataque

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  Attacker sends multipart/form-data with Next-Action header │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Server deserializes payload via React Flight protocol      │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Fake chunk object with __proto__ pollution processed       │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Blob handler invokes _formData.get(_prefix + id)           │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Resolves to Function("malicious_code")                     │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Arbitrary code executed with Node.js process privileges    │
└─────────────────────────────────────────────────────────────┘

🚀 Instalação

Requisitos

  • Python 3.7 ou superior
  • Biblioteca requests

Configuração

root@kitploit:~
# Clone the repository
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc

# Install dependencies
pip install -r requirements.txt

# Make script executable (Linux/macOS)
chmod +x react2shell.py

Requirements.txt

root@kitploit:~
requests>=2.31.0
urllib3>=2.0.0

💻 Uso

Uso Básico

root@kitploit:~
python3 react2shell.py

Sessão Interativa

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║           React2Shell (CVE-2025-55182) PoC                ║
║                 CVSS 10.0 - Critical RCE                  ║
║                                                           ║
║  Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0          ║
║           Next.js ≥14.3.0-canary.77, 15.x, 16.x          ║
║                                                           ║
║  Cerberus Secure - Lab Use Only                          ║
╚═══════════════════════════════════════════════════════════╝

[?] Enter target information:
    Host (e.g., localhost or 192.168.1.100): localhost
    Port (e.g., 3000): 3000

[React2Shell]> id
[*] Target: http://localhost:3000/
[*] Command: id
[*] Building exploit payload...
[*] Sending exploit request...
[+] Response Status Code: 200
[*] Parsing response...

╔═══════════════════════════════════════════════════════════╗
║                    COMMAND OUTPUT                         ║
╚═══════════════════════════════════════════════════════════╝
uid=1000(node) gid=1000(node) groups=1000(node)

[React2Shell]> whoami
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> exit

Exemplos de Comandos

root@kitploit:~
# System reconnaissance
[React2Shell]> id
[React2Shell]> whoami
[React2Shell]> uname -a
[React2Shell]> cat /etc/os-release

# File system exploration
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> cat package.json

# Environment variables (often contain secrets)
[React2Shell]> printenv
[React2Shell]> echo $PATH

# Network information
[React2Shell]> ifconfig
[React2Shell]> netstat -tulpn

Comandos Disponíveis

ComandoDescrição
<qualquer comando shell>Executa comando no alvo
helpExibe a mensagem de ajuda
exit / quit / qSai da ferramenta

🛡️ Detecção

Detecção em Nível de Rede (Snort v3)

Implante esta regra Snort para detectar tentativas de exploração:

root@kitploit:~
alert http any any -> $LAN_NETWORK any (
    msg:"Potential Next.js React2Shell / CVE-2025-55182 attempt";
    flow:to_server,established;
    content:"Next-Action"; http_header; nocase;
    content:"multipart/form-data"; http_header; nocase;
    pcre:"/Content-Disposition:\s*form-data;\s*name=\"0\"/s";
    pcre:"/\"status\"\s*:\s*\"resolved_model\"/s";
    pcre:"/\"then\"\s*:\s*\"\$1:__proto__:then\"/s";
    classtype:web-application-attack;
    sid:6655001;
    rev:1;
)

Lógica de Detecção:

  • Monitora o cabeçalho Next-Action (específico de RSC)
  • Detecta payloads multipart/form-data
  • Identifica padrões específicos do exploit: name="0", status: "resolved_model", then: "$1:__proto__:then"

Detecção em Endpoints (OSQuery)

Use esta regra OSQuery para verificar versões vulneráveis de pacotes:

root@kitploit:~
{
  "queries": {
    "detect_react2shell_vulnerable_packages": {
      "query": "SELECT name, version, path FROM npm_packages WHERE (name='react-server-dom-parcel' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-turbopack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-webpack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0'));",
      "interval": 3600,
      "description": "Detects vulnerable versions of React Server Components packages affected by CVE-2025-55182",
      "platform": "linux,windows,macos",
      "version": "1.0"
    }
  }
}

Benefícios:

  • Verifica endpoints em busca de pacotes vulneráveis
  • Funciona em ambientes de desenvolvimento, homologação e produção
  • Pode ser integrado a pipelines de CI/CD
  • Fornece alerta antecipado antes da implantação

Indicadores para Análise de Logs

Procure por estes padrões nos logs da aplicação:

root@kitploit:~
- HTTP POST requests with "Next-Action" header
- Unusual multipart/form-data requests to application root
- Error messages containing "NEXT_REDIRECT" with unexpected digest values
- Spike in 500 errors with React-related stack traces
- Child process spawning from Node.js (execSync, spawn, exec)

🔧 Remediação

Ações Imediatas

1. Atualize os Pacotes Vulneráveis

root@kitploit:~
# Check current versions
npm list react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

# Update React to patched version
npm install [email protected] [email protected]

# Update Next.js to latest patched version
npm install next@latest

# Verify updates
npm list react react-dom next

2. Verifique a Recompilação do Aplicativo

root@kitploit:~
# Clear cache and rebuild
rm -rf .next node_modules package-lock.json
npm install
npm run build

3. Implante os Aplicativos Atualizados

  • Desenvolvimento: Teste minuciosamente no ambiente de homologação
  • Homologação: Valide toda a funcionalidade antes da produção
  • Produção: Implante com um plano de rollback adequado

Medidas de Segurança de Longo Prazo

1. Implemente Regras de Web Application Firewall (WAF)

Bloqueie padrões suspeitos:

root@kitploit:~
- Requests with "Next-Action" header from untrusted sources
- Multipart form data with suspicious JSON structures
- Requests matching exploit signature patterns

2. Segmentação de Rede

  • Isole aplicativos React em zonas de rede separadas
  • Implemente filtragem de saída (egress) rigorosa
  • Monitore e alerte sobre conexões de saída incomuns

3. Proteção de Aplicação em Tempo de Execução (RASP)

  • Implante soluções RASP para detectar e bloquear tentativas de exploração
  • Monitore a criação suspeita de processos filhos
  • Alerte sobre padrões inesperados de execução de código

4. Verificação de Segurança em CI/CD

root@kitploit:~
# Example GitHub Actions workflow
name: Security Scan
on: [push, pull_request]

jobs:
  dependency-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Check for vulnerable React packages
        run: |
          npm audit --audit-level=critical
          npm list react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

5. Monitoramento e Alertas

Configure alertas para:

  • Implantação de versões vulneráveis de pacotes
  • Padrões de tentativas de exploração nos logs
  • Criação inesperada de processos filhos
  • Conexões de rede para destinos suspeitos

🧪 Configuração do Ambiente de Laboratório

Opção 1: Aplicativo Next.js Vulnerável

root@kitploit:~
# Create a new Next.js app with vulnerable version
npx [email protected] vulnerable-app
cd vulnerable-app

# Install vulnerable React version
npm install [email protected] [email protected]

# Start the development server
npm run dev

Opção 2: Ambiente Docker

Crie um Dockerfile:

root@kitploit:~
FROM node:18-alpine

WORKDIR /app

# Create a basic Next.js app
RUN npx [email protected] vulnerable-app --typescript --tailwind --app --no-src-dir

WORKDIR /app/vulnerable-app

# Install vulnerable React versions
RUN npm install [email protected] [email protected]

EXPOSE 3000

CMD ["npm", "run", "dev"]

Compile e execute:

root@kitploit:~
docker build -t react2shell-lab .
docker run -p 3000:3000 react2shell-lab

Opção 3: Docker Compose

Crie docker-compose.yml:

root@kitploit:~
version: '3.8'
services:
  vulnerable-app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
    volumes:
      - ./app:/app/vulnerable-app

Execute:

root@kitploit:~
docker-compose up -d

Verifique a Vulnerabilidade

Teste com curl:

root@kitploit:~
curl -X POST http://localhost:3000/ \
  -H "Next-Action: x" \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
  --data-binary @exploit_payload.txt

📚 Referências

Avisos de Segurança Oficiais

  • Aviso de Segurança do React - CVE-2025-55182
  • Aviso de Segurança do Next.js
  • NVD - CVE-2025-55182

Pesquisa e Análise

  • PoC original por maple3142
  • Pesquisa de Segurança da Wiz - Análise do React2Shell
  • Pesquisa de Segurança da Assetnote

Detecção e Mitigação

  • Documentação do Snort
  • Documentação do OSQuery
  • Documentação do React Server Components

Vulnerabilidades Relacionadas

  • Log4Shell (CVE-2021-44228) - RCE semelhante por desserialização
  • Spring4Shell (CVE-2022-22965) - RCE em nível de framework

🤝 Contribuição

Contribuições são bem-vindas! Siga estas diretrizes:

  1. Fork o repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/improvement)
  3. Commit suas alterações (git commit -am 'Add new detection method')
  4. Envie para o branch (git push origin feature/improvement)
  5. Crie um Pull Request

Áreas para Contribuição

  • Regras de detecção adicionais (Suricata, Zeek, etc.)
  • Integração com frameworks de segurança (MISP, TheHive, etc.)
  • Variações aprimoradas de payload
  • Melhor análise de saída
  • Documentação e traduções adicionais

📝 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

👤 Autor

Tinashe

  • Cargo: Arquiteto de Soluções de Cibersegurança
  • Organização: Cerberus Secure / iConnect SA
  • Localização: Joanesburgo, África do Sul
  • LinkedIn: https://www.linkedin.com/in/tinashe-matanda/
  • GitHub: @tinashelorenzi

Sobre a Cerberus Secure

A Cerberus Secure é a divisão de cibersegurança da iConnect SA, especializada em:

  • Mitigação de DDoS e segurança de rede
  • Conformidade GRC (POPIA, ECT, PCI-DSS, HPCSA)
  • Arquitetura de segurança e design de soluções
  • Resposta a incidentes e inteligência contra ameaças
  • Desenvolvimento de SIEM personalizado (plataforma Olympus)

🙏 Agradecimentos

  • maple3142 - Pesquisa original da prova de conceito
  • Wiz Security Research - Análise abrangente da vulnerabilidade
  • Assetnote - Técnicas aprimoradas de exploração
  • Equipe do React - Resposta rápida e desenvolvimento do patch
  • Equipe do Next.js - Implementação de mitigação em nível de framework

⚖️ Divulgação Responsável

Esta vulnerabilidade foi divulgada de forma responsável por pesquisadores de segurança à equipe do React. Esta PoC é disponibilizada após:

  • Patches oficiais terem sido disponibilizados
  • Tempo suficiente para as organizações atualizarem
  • Divulgação pública pela equipe de segurança do React

Cronograma:

  • Dezembro de 2025: Vulnerabilidade descoberta
  • Dezembro de 2025: Divulgação coordenada à equipe do React
  • Dezembro de 2025: Patches lançados (19.0.1, 19.1.2, 19.2.1)
  • Dezembro de 2025: Divulgação pública e lançamento da PoC

Lembre-se: use esta ferramenta com responsabilidade e apenas em sistemas que você está autorizado a testar.

Para perguntas, preocupações ou problemas de segurança com este repositório, abra uma issue ou entre em contato diretamente com o mantenedor.

Baixar ferramenta