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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-55182-React-Server-Components-Flight-React2Shell- — Análise e advisory do CVE-2025-55182 (React2Shell), RCE por desserialização do RSC Flight, com detalhamento da causa raiz, fluxo de ataque, diff do patch e regras de detecção Sigma/Suricata/WAF. | Kitploit
Ferramentas/GitHubGitHub/certbn/cve-2025-55182-react-server-components-flight-react2shell-
Gerenciamento de Indicadores de Comprometimento (IOC)Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebInteligência de AmeaçasPapers e PesquisaResposta a Incidentes

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 →
GitHubcertbn/cve-2025-55182-react-server-components-flight-react2shell-

CVE-2025-55182-React-Server-Components-Flight-React2Shell-

Análise e advisory do CVE-2025-55182 (React2Shell), RCE por desserialização do RSC Flight, com detalhamento da causa raiz, fluxo de ataque, diff do patch e regras de detecção Sigma/Suricata/WAF.

Ver Repositório
1há 2 diasAinda não revisado
Compartilhar

CVE-2025-55182: Execução Remota de Código por Desserialização no Protocolo Flight do React Server Components (React2Shell)

CVSS Type KEV Ransomware

Data da última verificação: 2026-11-04 (KST). Cada valor numérico foi registrado apenas conforme confirmado nas fontes listadas em References abaixo; quando os valores divergem entre as fontes, ambos foram indicados.

📌 TL;DR

  • O que é: No processo de desserialização (deserialization) do protocolo Flight dos React Server Components (RSC), não se valida o nome da propriedade no caminho de referência, permitindo que um atacante percorra a cadeia de protótipos (prototype chain) até alcançar o construtor Function e executar JavaScript arbitrário.
  • Onde: react-server-dom-webpack / -parcel / -turbopack 19.0.0, 19.1.0, 19.1.1, 19.2.0 e frameworks que os utilizam — notadamente Next.js 15.x / 16.x App Router. Mesmo sem definir Server Functions diretamente, basta suportar RSC para ser afetado.
  • Quão perigoso é: RCE com uma única requisição HTTP sem autenticação (CVSS 10.0). Poucas horas após a divulgação pública, um grupo ligado à China começou a explorá-la, e está listada na CISA KEV e com exploração por ransomware "Known".

📋 Informações básicas

ItemConteúdo
CVE IDCVE-2025-55182 (React) / CVE-2025-66478 para Next.js foi rejeitado como duplicado (Rejected)
AliasReact2Shell
Data de divulgação2025-12-03 (aviso da equipe React, patch distribuído no mesmo dia)
DescobridorLachlan Davidson (reportado em 2025-11-29 via Meta Bug Bounty)
Produtos/versões afetadosreact-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack 19.0.0, 19.1.0, 19.1.1, 19.2.0 / Next.js 14.3.0-canary.77 ou superior canary, 15.x, 16.x (App Router)
Versões corrigidasCorreção de RCE: React 19.0.1 / 19.1.2 / 19.2.1, Next.js 15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7 / 16.0.7
Versão final recomendada (incluindo vulnerabilidades subsequentes): React 19.0.3 / 19.1.4 / 19.2.3 (ver "Vulnerabilidades subsequentes" abaixo)
CVSS v3.110.0 Critical — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0Não confirmado em fontes primárias no momento da redação deste documento
CWECWE-502 Deserialization of Untrusted Data (Vercel GHSA-9qr9-h5gf-34mp, GitLab Advisory DB). O registro no CISA KEV não indica CWE
Exploração realExploração confirmada. Incluído no CISA KEV em 2025-12-05, prazo de ação para agências federais em 2025-12-12, uso em campanhas de ransomware: Known. A AWS observou tentativas de exploração poucas horas após a divulgação pública

Detalhes do escopo de impacto

ComponenteVersões afetadasVersões corrigidas
react-server-dom-webpack / -parcel / -turbopack19.0.019.0.1 (recomendado 19.0.3)
〃19.1.0, 19.1.119.1.2 (recomendado 19.1.4)
〃19.2.019.2.1 (recomendado 19.2.3)
Next.js 15.x (App Router)15.0 ~ 15.5 antes do patch15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7
Next.js 16.x (App Router)anterior a 16.0.716.0.7
Next.js canary14.3.0-canary.77 ou superior15.6.0-canary.58 / 16.1.0-canary.12 (usuários do 14.3 canary devem fazer downgrade para o 14.x stable)
Outras ferramentas de integração RSCReact Router (unstable RSC API), Waku, plugin RSC do Parcel, plugin RSC do Vite (@vitejs/plugin-rsc), RedwoodSDK, Expo etc.Versão mais recente de cada ferramenta + react-server-dom-* corrigido

Não afetado: aplicações React puramente client-side que não usam servidor, Next.js 13.x / 14.x stable, aplicações com Pages Router, implantações em Edge Runtime.

Vulnerabilidades subsequentes (atenção ao determinar a versão do patch)

Após o patch do React2Shell, pesquisas adicionais sobre RSC divulgaram em sequência vulnerabilidades que não são RCE. O RCE em si foi corrigido em 19.0.1 / 19.1.2 / 19.2.1, mas para bloquear também as vulnerabilidades abaixo é necessária a versão mais recente.

CVETipoCVSS v3.1DivulgaçãoVersão corrigida
CVE-2025-55184Negação de serviço (DoS)7.52025-12-1119.0.2 / 19.1.3 / 19.2.2 (incompleta)
CVE-2025-55183Exposição de código-fonte5.32025-12-1119.0.2 / 19.1.3 / 19.2.2
CVE-2025-67779DoS causado pelo patch incompleto do CVE-2025-551847.52025-12-1219.0.3 / 19.1.4 / 19.2.3

Alguns artigos de empresas de segurança (por exemplo, a atualização da Zscaler) afirmam que "o patch original do CVE-2025-55182 era incompleto". No entanto, segundo os avisos do React e do GitLab, o que estava incompleto era a correção do DoS (CVE-2025-55184), e não foi possível confirmar uma fonte primária de que a correção do RCE tenha sido contornada. Em qualquer caso, a ação recomendada é atualizar para 19.0.3 / 19.1.4 / 19.2.3 ou superior.

Datas principais

DataEvento
2025-11-29Reportado por Lachlan Davidson via Meta Bug Bounty
2025-11-30Confirmado pela equipe de segurança da Meta; início da correção junto à equipe do React
2025-12-03Publicação do aviso e patch do React (19.0.1 / 19.1.2 / 19.2.1) e do aviso do Next.js (CVE-2025-66478). Empresas de nuvem e WAF, que receberam informações prévias, implantaram regras de proteção
2025-12-03 ~ 04A AWS observou tentativas de exploração por grupos ligados à China (Earth Lamia, Jackpot Panda) poucas horas após a divulgação. A Zscaler observou mais de 4.100 tentativas de exploração nas primeiras 2 horas
2025-12-05Inclusão no CISA KEV (prazo 12-12). A Microsoft passou a detectar atividade de exploração real a partir desta data
2025-12-11Divulgação das vulnerabilidades subsequentes CVE-2025-55184 / 55183
2025-12-12Divulgação do CVE-2025-67779 (patch incompleto) e distribuição de 19.0.3 / 19.1.4 / 19.2.3
2025-12-15A Microsoft publicou análise de atividades pós-exploração e guia de hunting

🔍 Análise da causa raiz da vulnerabilidade (Root Cause)

1. Contexto: o protocolo Flight e os chunks

O RSC troca dados entre cliente e servidor por meio de um protocolo de serialização próprio chamado Flight. Quando o cliente chama uma Server Function, o navegador envia os argumentos em uma requisição POST multipart/form-data, e cada campo do formulário se torna um chunk numerado.

  • O tipo é expresso por um prefixo de string. Por exemplo: $<id> é uma referência ao valor de outro chunk, $@<id> é uma referência ao próprio objeto do chunk, e $B<id> indica tratamento de Blob.
  • Um chunk é um objeto thenable que possui o método then(). O await do JavaScript, ao encontrar um thenable, chama then() e, se o resultado for outro thenable, continua chamando recursivamente.

2. O que: navegação de propriedades sem validação em getOutlinedModel()

O getOutlinedModel() do manipulador de respostas Flight no lado do servidor (packages/react-server/src/ReactFlightReplyServer.js) divide referências no formato $<id>:<prop1>:<prop2> com base em : e percorre as propriedades do chunk de destino na ordem chunk[prop1][prop2].

Nesse processo, não havia validação para verificar se o nome da propriedade era uma propriedade própria (own property) do objeto. Assim, era possível acessar propriedades herdadas por meio de nomes como __proto__, constructor e prototype.

3. Por quê: alcançar objetos perigosos pela cadeia de protótipos (CWE-502)

Baixar ferramenta