Skip to main content

Alerta de segurança: vulnerabilidades críticas de RCE no React Server Components (CVE-2025-55182)

Escrito por
blog feature security alert purple

3 de dezembro de 2025

0 minutos de leitura

Resumo

Em 3 de dezembro de 2025, divulgações coordenadas revelaram que várias versões do React 19 e do Next.js contêm uma falha crítica no protocolo “Flight” do React Server Components (RSC), que permite execução remota de código (RCE) sem autenticação. A vulnerabilidade tem origem na desserialização insegura de dados controlados por um invasor durante o processamento de payloads RSC no servidor.
A exploração exige apenas uma solicitação HTTP especialmente criada, funciona de maneira confiável nas configurações padrão e afeta não apenas o React/Next.js, mas também qualquer framework ou bundler que incorpore a implementação do RSC.
Há correções disponíveis, que devem ser aplicadas imediatamente. Sistemas que executam versões sem correção estão expostos ao comprometimento total do servidor.

Atualização (5 de dez. de 2025):

O pesquisador que originalmente reportou essa vulnerabilidade, Lachlan Davidson, publicou suas PoCs originais no GitHub.

Visão geral do componente envolvido

React Server Components (RSC) e o protocolo “Flight”

O React 19 introduziu um mecanismo para dividir a renderização da interface entre o cliente e o servidor, serializando o estado dos componentes e as chamadas de funções do servidor por meio de um formato especial de transporte, geralmente chamado de protocolo “Flight”.

Os pacotes afetados incluem:

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

Esses pacotes desserializam payloads RSC recebidos para encaminhar operações no servidor. A vulnerabilidade ocorre porque a lógica de desserialização não impunha adequadamente restrições estruturais ou de tipo, permitindo que payloads maliciosos alterassem o comportamento da execução.

Por que as configurações padrão estavam expostas

A maioria dos frameworks que adotam RSC — incluindo o App Router do Next.js — vem com essa lógica habilitada por padrão. Isso significa que um projeto Next.js padrão, criado com create-next-app, compilado e implantado sem modificações no código… podia ser explorado com as configurações padrão.

Cronologia dos eventos conhecidos

Data

Evento

29 de nov. de 2025

O pesquisador de segurança Lachlan Davidson reporta em particular uma falha na forma como o React decodifica payloads recebidos por endpoints de Server Functions e identifica um caminho para RCE sem autenticação.

30 de nov. de 2025

A equipe de segurança da Meta valida o relato e colabora com o grupo de engenharia do React para desenvolver uma correção.

1º de dez. de 2025

Uma correção é desenvolvida; os principais ecossistemas e provedores de hospedagem começam a implementar medidas de mitigação e validar as atualizações.

3 de dez. de 2025

A equipe da Meta/React publica um alerta de segurança para CVE-2025-55182, abrangendo os pacotes RSC do React.

3 de dez. de 2025

A Vercel publica um alerta para CVE-2025-66478, que abrange a integração do Next.js com a mesma falha subjacente.

3 de dez. de 2025

Versões atualizadas do React (19.0.1 / 19.1.2 / 19.2.1) e do Next.js (15.x/16.x corrigidos + instruções para voltar a uma versão anterior para usuários do Canary) são disponibilizadas publicamente.

A partir de 3 de dez. de 2025

O ecossistema também disponibiliza atualizações de pacotes (Vite RSC, Parcel RSC, previews do React Router, RedwoodSDK, Waku etc.). A investigação continua.

4 de dez. de 2025

O identificador CVE-2025-66478 foi rejeitado e substituído pelo CVE-2025-55182

Observação: até a divulgação, não havia confirmação pública de exploração ativa, mas explorar a falha exige pouco conhecimento técnico.

Componentes afetados

Versões afetadas do React

  • 19.0.0

  • 19.1.0

  • 19.1.1

  • 19.2.0

Versões afetadas do Next.js

  • Todas as versões estáveis 15.x

  • Todas as versões estáveis 16.x

  • Versão experimental 14.3.0-canary.77 e posteriores

Outras ferramentas e frameworks provavelmente afetados por empacotar RSC:

  • Plugin Vite RSC

  • Plugin Parcel RSC

  • Preview do React Router RSC

  • RedwoodSDK

  • Waku

  • Qualquer pacote que incorpore os módulos vulneráveis react-server-dom-*

Presença na nuvem

Estimativas de pesquisas indicam que cerca de 39% dos ambientes de nuvem analisados tinham cargas de trabalho executando versões vulneráveis do React/Next.js RSC.

Como o incidente aconteceu

Vulnerabilidade subjacente: desserialização insegura

Em sua essência, o mecanismo RSC no servidor aceita um payload “Flight” serializado que descreve:

  • Limites dos componentes

  • Referências a funções do servidor

  • Fluxos de dados

As implementações vulneráveis confiavam demais na estrutura recebida. Quando payloads malformados, mas sintaticamente válidos, eram enviados, o servidor:

  1. Não rejeitava formatos ou referências de objetos inesperados

  2. Processava identificadores fornecidos pelo invasor

  3. Executava caminhos privilegiados de JavaScript que nunca deveriam estar acessíveis externamente

Isso leva diretamente à execução remota de código antes da autenticação, por isso a pontuação CVSS é 10,0 (crítica).

Vetor de ataque

  • Remoto: não é necessário acesso local nem credenciais

  • Sem autenticação: qualquer pessoa pode tentar explorar a falha

  • Uma única solicitação: basta uma solicitação HTTP especialmente criada para um endpoint RSC

  • Alta confiabilidade: testes relatam confiabilidade próxima de 100% nas configurações padrão

Por que isso é especialmente perigoso

  • A maioria dos aplicativos Next.js que usam o App Router expõe endpoints RSC publicamente.

  • A RCE ocorre antes de qualquer lógica de roteamento ou mecanismo de autenticação.

  • Implantações em nuvem ou serverless costumam disponibilizar endpoints RSC na raiz das APIs.

Recomendações de detecção e varredura

Para scanners de código e dependências

Procure por:

  • Versões de "react-server-dom-webpack" 19.0.0, 19.1.0, 19.1.1 e 19.2.0

  • Versões de "react-server-dom-parcel" 19.0.0, 19.1.0, 19.1.1 e 19.2.0

  • Versões de "react-server-dom-turbopack" 19.0.0, 19.1.0, 19.1.1 e 19.2.0

  • Versões do Next.js listadas na seção de versões afetadas

Para monitoramento em tempo de execução ou no nível da rede

Sinalize:

  • Solicitações a rotas RSC que contenham quadros Flight RSC malformados ou inesperados

  • Tokens com alta entropia ou anômalos em payloads RSC serializados

  • Aumentos repentinos de erros na invocação de funções do servidor

Para ferramentas de postura de segurança na nuvem

Procure cargas de trabalho que implantem:

  • Contêineres compilados antes de 3 de dez. de 2025

  • Imagens do React 19 ou Next.js 15/16 que ainda não receberam correções

  • Cargas de trabalho expostas publicamente que usam o App Router ou server actions

Aplicativos hospedados na Vercel contam com a filtragem de solicitações da plataforma, mas ainda precisam ser atualizados.

Orientações para mitigação

1. Atualize imediatamente 

React

  • 19.0.0 → 19.0.1

  • 19.1.x → 19.1.2

  • 19.2.0 → 19.2.1

Next.js

Versões corrigidas:

npm install next@15.0.5
npm install next@15.1.9
npm install next@15.2.6
npm install next@15.3.6
npm install next@15.4.8
npm install next@15.5.7
npm install next@16.0.7
  • Usuários do Canary → Se você estiver usando a versão 14.3.0-canary.77 ou posterior, volte para uma versão estável:

npm install next@14

2. Reconstrua os aplicativos após a atualização

Garanta que os pipelines de CI/CD recompilem as imagens Docker ou os bundles serverless com as dependências corrigidas.

3. Valide frameworks de terceiros

Se você usa Redwood, Waku, previews experimentais do RSC ou bundlers, verifique se:

  • A implementação atualizada do RSC foi disponibilizada

  • Nenhum arquivo de lock desatualizado fixa versões vulneráveis

4. Ative controles de defesa em profundidade

  • Sandbox de execução para JavaScript no servidor

  • Roteamento rigoroso para endpoints RSC

  • Regras de WAF (firewall de aplicação web) para detectar payloads RSC malformados

Próximas ações para a comunidade

Para mantenedores de ecossistemas dependentes

  • Audite todas as extensões personalizadas do RSC

  • Publique alertas atualizados e builds corrigidos

  • Considere reforçar os esquemas de desserialização com validação explícita

Para organizações

  • Faça o inventário de todas as cargas de trabalho que usam React Server Components

  • Dê prioridade aos aplicativos expostos à internet

  • Monitore atividades suspeitas ocorridas antes da aplicação da correção

  • Faça uma análise forense após a aplicação da correção para confirmar que não houve exploração

Conclusão

Este incidente evidencia um desafio sistêmico dos ecossistemas JavaScript modernos: mecanismos de serialização altamente dinâmicos podem se tornar vetores poderosos de RCE quando a validação é insuficiente. Como os React Server Components estão se tornando rapidamente fundamentais em vários frameworks, o alcance dessa vulnerabilidade é excepcionalmente amplo.

Corrigir essa falha é simples, mas atrasos aumentam muito o risco. As organizações devem atualizar agora, verificar os frameworks dependentes e continuar acompanhando novas atualizações enquanto as investigações no ecossistema avançam.

Não adie a correção. Consulte agora os alertas da Snyk para confirmar as versões afetadas e obter todos os detalhes de remediação:

Consulte o Snyk Vuln Database

Dados confiáveis e insights práticos para ajudar você a desenvolver software com segurança.