Alerta de segurança: vulnerabilidades críticas de RCE no React Server Components (CVE-2025-55182)
3 de dezembro de 2025
0 minutos de leituraResumo
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-webpackreact-server-dom-parcelreact-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:
Não rejeitava formatos ou referências de objetos inesperados
Processava identificadores fornecidos pelo invasor
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.0Versões de
"react-server-dom-parcel"19.0.0, 19.1.0, 19.1.1 e 19.2.0Versões de
"react-server-dom-turbopack"19.0.0, 19.1.0, 19.1.1 e 19.2.0Versõ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:
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:
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:
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMWEBPACK-14173285
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMTURBOPACK-14173287
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMPARCEL-14173286
Consulte o Snyk Vuln Database
Dados confiáveis e insights práticos para ajudar você a desenvolver software com segurança.
