Vulnerabilidade Crítica em React e Next.js Permite Execução Remota de Código
Uma nova e alarmante vulnerabilidade de alta severidade foi identificada nas aplicações que utilizam React e Next.js, estando sob a designação de ‘React2Shell’. Este problema sério no protocolo ‘Flight’ das React Server Components (RSC) permite que hackers executem código remotamente sem qualquer forma de autenticação, apresentando assim um risco significativo para milhões de desenvolvedores e empresas ao redor do mundo.
Entendendo a Vulnerabilidade
Denotada com uma pontuação máxima de severidade, 10 em uma escala que varia de 1 a 10, a falha foi registrada sob os identificadores CVE-2025-55182 para o React e CVE-2025-66478 para o Next.js. O problema central reside na desserialização insegura, uma falha que permite que dados maliciosos sejam manipulados para comprometer a segurança do sistema. Esta vulnerabilidade foi descoberta pelo pesquisador de segurança Lachlan Davidson, que apresentou suas descobertas à equipe do React em 29 de novembro de 2025.
Davidson relatou que um atacante poderia explorar essa vulnerabilidade enviando uma solicitação HTTP especialmente formulada para os endpoints de Funções do Servidor React. Paradoxalmente, até mesmo aplicações que não implementam endpoints de Funções do Servidor podem ser vulneráveis se suportarem componentes do servidor React (RCS), segundo o aviso de segurança oficial publicado no blog do React.
Impacto na Comunidade de Desenvolvimento
A vulnerabilidade afeta diversos pacotes quando configurados de forma padrão, incluindo:
react-server-dom-parcelreact-server-dom-turbopackreact-server-dom-webpack
Essas ferramentas são amplamente utilizadas para a construção de interfaces de usuário modernas e são mantidas pela Meta, uma empresa reconhecida por sua contribuição ao ecossistema de desenvolvimento front-end.
Next.js e Suas Implicações
O Next.js, um framework que expande as capacidades do React ao incluir renderização do lado do servidor, roteamento e endpoints de API, é mantido pela empresa Vercel. Ambos os frameworks se tornaram essenciais em ambientes de nuvem, permitindo que desenvolvedores escalem e implantem aplicações de maneira eficiente e rápida. De acordo com uma análise realizada pela plataforma de segurança em nuvem Wiz, 39% dos ambientes de nuvem monitorados contêm instâncias do Next.js ou do React que estão utilizando versões vulneráveis a CVE-2025-55182, CVE-2025-66478 ou ambas.
A Seriedade do Problema
A questão é especialmente preocupante considerando a popularidade dessas tecnologias, com o React registrando um impressionante total de 55,8 milhões de downloads semanais no Node Package Manager (NPM) e o Next.js contabilizando 16,7 milhões. Isso se traduz em um número vasto de aplicações em potencial que podem ser exploradas por cibercriminosos.
O problema, que reside no pacote react-server, utilizado por componentes no servidor React, é herdado pelo Next.js através da implementação de seu protocolo "Flight".
A Natureza da Exploração
Os pesquisadores da Wiz advertiram que a vulnerabilidade é fácil de explorar, especialmente nas configurações padrão dos pacotes afetados. De acordo com a análise da empresa Endor Labs, essa falha de desserialização é lógica, o que significa que o servidor falha em validar adequadamente a estrutura dos dados recebidos pelo payload das RSC. Isso resulta na execução de código JavaScript privilegiado no contexto do servidor.
Davidson criou um site, React2Shell, onde irá publicar detalhes técnicos abrangentes sobre a vulnerabilidade. Ele alerta para a existência de provas de conceito (PoCs) que, embora não genuínas, podem induzir desenvolvedores a pensar que a exploração da vulnerabilidade é simples. Especificamente, essas PoCs mencionam a invocação de funções como vm#runInThisContext, child_process#exec, e fs#writeFile, mas, segundo ele, um ataque real não requer essas funções e contornos.
plaintext
"Isso só seria explorável se você tivesse escolhido conscientemente permitir que clientes invocassem essas funções, o que seria perigoso de qualquer forma", explica Davidson.
Além disso, ele esclarece que essas PoCs falsas não funcionariam com o Next.js, pois essas funções estão ausentes devido à administração automática da lista de funções do servidor.
Medidas Corretivas Necessárias
Diante da gravidade da situação, é imperativo que os desenvolvedores apliquem imediatamente os patches disponíveis para as versões do React, que incluem:
- 19.0.1
- 19.1.2
- 19.2.1
Para o Next.js, as versões que devem ser atualizadas são:
- 15.0.5
- 15.1.9
- 15.2.6
- 15.3.6
- 15.4.8
- 15.5.7
- 16.0.7
Além da atualização de versões, as organizações são fortemente aconselhadas a realizar uma auditoria em seus ambientes para verificar se estão utilizando alguma versão vulnerável, tomando as ações adequadas para mitigar os riscos associados.
Rumo ao Futuro
Com a crescente adoção de frameworks como React e Next.js em diversos setores, a conscientização sobre a segurança cibernética deve ser uma prioridade. A identificação e remediação de vulnerabilidades desempenham um papel crucial na proteção não apenas das implementações de software, mas também das informações dos usuários e da integridade das aplicações.
O aparato de segurança em torno das tecnologias de desenvolvimento deve evoluir em sincronia com as ameaças, estabelecendo um ciclo contínuo de monitoramento, avaliação e melhoria. As empresas que utilizam estas ferramentas precisam compreender que, à medida que as ameaças se tornam mais sofisticadas, as medidas de segurança devem acompanhar esse ritmo para garantir que os benefícios do desenvolvimento ágil não venham à custa da segurança.
Empresas e desenvolvedores de todo o mundo agora têm a responsabilidade de priorizar a segurança em seus ciclos de desenvolvimento, adotando práticas que não apenas atendam aos padrões atuais, mas que também antevejam desafios futuros que podem advir com o avanço da tecnologia.
A vulnerabilidade "React2Shell" ressalta a importância de um compromisso sustentável com a segurança de software, reforçando a necessidade de vigilância contínua e respeito às diretrizes de práticas seguras de desenvolvimento, para salvaguardar não apenas as aplicações, mas o ecossistema digital como um todo.

Deixe um comentário