A falha React RCE descoberta recentemente está sendo tratada como uma das vulnerabilidades mais graves já vistas no ecossistema React e Next.js, com impacto direto em milhões de aplicações que dependem de React Server Components (RSC). O alerta não é exagero, a vulnerabilidade React2Shell recebeu gravidade máxima 10/10, permitindo Execução Remota de Código (RCE) sem autenticação, o que significa comprometimento total do servidor. Este artigo detalha exatamente o que você precisa saber, o que torna a falha tão perigosa e as versões exatas para as quais é obrigatório atualizar imediatamente.
A magnitude do problema aumenta porque React e Next.js estão entre as bases tecnológicas mais usadas no mundo, desde sistemas corporativos até produtos globais. Uma RCE que afeta a camada de servidor desses frameworks representa um risco profundo para aplicações de todos os portes. O objetivo deste artigo é explicar, de forma clara e acessível, o funcionamento da React2Shell, o impacto real para desenvolvedores e empresas e, principalmente, o caminho seguro para mitigar o risco rapidamente.
O que é a falha React2Shell e seu impacto

A vulnerabilidade React2Shell, identificada como CVE-2025-55182 e CVE-2025-66478, foi descoberta pelo pesquisador Lachlan Davidson, que detalhou como uma falha dentro do ecossistema de React Server Components abre espaço para uma RCE completa. Por conta da forma como o bug se manifesta, a comunidade rapidamente passou a chamá-lo de React2Shell por permitir que um atacante transforme um simples payload enviado ao servidor em execução imediata de comandos.
O impacto foi classificado como 10/10 na escala CVSS, indicando criticidade total. Em termos práticos, significa que um invasor pode, de forma remota e sem autenticação, executar qualquer código no servidor da aplicação, comprometendo dados, infraestrutura e permitindo persistência maliciosa. A combinação rara de amplo alcance, facilidade de exploração e altos privilégios faz da React2Shell uma das falhas mais graves já ligadas ao ecossistema React.
Além disso, o problema afeta tanto projetos que usam React diretamente quanto todas as aplicações em Next.js, já que o framework depende internamente do mesmo mecanismo vulnerável dos React Server Components.
A raiz do problema: desserialização insegura no protocolo Flight (RSC)
Para entender a vulnerabilidade, é essencial compreender como funcionam os React Server Components (RSC) e o protocolo Flight. O RSC permite que parte da lógica de renderização seja executada no servidor, enviando apenas a representação serializada dos componentes ao cliente. Esse transporte usa o protocolo Flight, que define como valores são serializados, enviados e reconstruídos no navegador.
A falha React2Shell surge exatamente no ponto de desserialização. Em condições específicas, o Flight manipula dados que podem ser interpretados como referências a módulos e funções internas. Uma desserialização insegura permite que um atacante envie um payload especialmente construído que, ao ser interpretado pelo servidor, resulta na execução de módulos arbitrários e, consequentemente, execução remota de código.
Os pacotes comprometidos incluem:
- react-server-dom-parcel
- react-server-dom-turbopack
- react-server-dom-webpack
Como o Next.js utiliza internamente o RSC e o protocolo Flight, ele herda o problema diretamente, afetando:
- aplicações com Next.js 15.x
- aplicações com Next.js 16.x
- builds experimentais com RSC ativado
Isso significa que qualquer ambiente que processe dados RSC no servidor está em risco imediato.
Quem está em risco e o que a estatística da Wiz revela
A empresa de segurança Wiz divulgou uma estimativa mostrando que 39% dos ambientes em nuvem analisados em grande escala utilizavam alguma implementação de React Server Components de forma potencialmente vulnerável. Essa taxa elevada demonstra o tamanho do problema e o potencial de exploração em massa.
O risco não se limita apenas ao React e Next.js, já que diversas bibliotecas experimentais e integradores third-party replicam partes do mecanismo de RSC. Se um pacote implementa ou manipula o protocolo Flight, ele pode estar vulnerável à mesma cadeia de exploração.
O pesquisador Lachlan Davidson também alertou sobre PoCs falsos circulando na internet. Muitos deles não exploram a vulnerabilidade real e apenas usam APIs como child_process#exec ou fs#writeFile para simular impacto. Uma exploração legítima, porém, consegue provocar execução de código sem depender desses atalhos, manipulando diretamente a desserialização no Flight. Entender essa diferença é crucial para avaliar riscos reais e evitar confusão em análises técnicas.
Para equipes de segurança, isso significa que não basta procurar por PoCs genéricos, é necessário validar o fluxo completo de desserialização no RSC para determinar se o ambiente pode ser explorado.
Ação imediata: as versões de correção que você precisa aplicar
A mitigação é direta: ATUALIZE IMEDIATAMENTE para as versões corrigidas. As equipes do React e do Next.js publicaram patches emergenciais cobrindo todas as branches afetadas.
Versões do React já corrigidas
As seguintes versões eliminam completamente a vulnerabilidade:
- React 19.0.1
- React 19.1.2
- React 19.2.1
Se o projeto utiliza React em sua forma standalone, garantindo que sua versão esteja acima de qualquer uma dessas é obrigatório.
Versões do Next.js corrigidas
Para aplicações Next.js, as correções foram disponibilizadas em todos os ramos ativos:
- Next.js 15.x (versões mais recentes do branch)
- Next.js 16.x (versões mais recentes do branch)
- Builds experimentais também foram corrigidos nos pacotes mais recentes
Por se tratar de uma falha React RCE de gravidade máxima, faz parte da mitigação realizar uma auditoria completa:
- Verificar versões de dependências instaladas e do lockfile
- Reimplementar builds de produção após atualização
- Conferir logs para possíveis indícios de exploração
- Revalidar pipelines CI/CD para impedir caches com versões vulneráveis
- Monitorar entradas suspeitas nos endpoints RSC
Qualquer atraso pode manter o ambiente vulnerável mesmo após a atualização de parte das dependências.
Conclusão: um lembrete sobre segurança da cadeia de suprimentos de software
A React2Shell não é apenas uma falha técnica, é um lembrete severo sobre os riscos da cadeia de suprimentos de software. Componentes modernos, como o RSC, adicionam camadas de abstração que ampliam o poder e a produtividade, mas também criam superfícies de ataque profundas que podem ser exploradas de forma devastadora.
Manter dependências atualizadas, auditar fluxos de desserialização e estabelecer políticas internas de monitoramento contínuo deixaram de ser boas práticas e se tornaram ações obrigatórias para qualquer equipe séria de desenvolvimento.
A recomendação final é simples e urgente: verifique agora suas versões de React e Next.js, aplique as atualizações necessárias, recrie seu ambiente de produção e compartilhe este alerta com outros desenvolvedores e equipes de segurança. A rapidez com que você age pode definir a diferença entre um incidente evitado ou um comprometimento completo.
