CVE-2025-55182 (React2Shell): Vulnerabilidade crítica de execução remota de código
Partilhar
Aviso de segurança urgente para empresas que utilizam componentes de servidor React/Next.js.
Escrito por: Frikkie Botha
O que é o CVE-2025-55182 (React2Shell)?
A vulnerabilidade CVE-2025-55182 — apelidada de React2Shell — é uma vulnerabilidade crítica de execução remota de código nos componentes React Server Components (RSC) e pacotes relacionados do lado do servidor. A falha permite que um atacante envie um pedido especialmente criado que desencadeia a desserialização insegura através do protocolo Flight utilizado pelo RSC. Em resumo: se o seu servidor aceitar estes pedidos, um atacante poderá executar código sem autenticação.
Porque é que isso é importante para as lojas de comércio eletrónico?
- Risco de comprometimento do servidor: a execução de código arbitrário pode levar ao roubo de dados, injeção de malware, ransomware, manipulação de pedidos ou tomada total do controlo do sistema.
- Não é necessária autenticação: a exploração pode ser realizada com um pedido HTTP cuidadosamente elaborado contra os endpoints afetados.
- Ampla superfície de ataque: muitas lojas virtuais, painéis de controlo e ferramentas administrativas utilizam recursos de componentes React, Next.js ou de componentes de servidor — pelo que o número de sites potencialmente afetados é grande.
Que componentes/versões são afetados?
Os sites construídos com React Server Components ou frameworks que incluam código RSC podem ser afetados. Exemplos de pacotes vulneráveis (à data de publicação) incluem algumas versões de:
-
react-server-dom-webpack -
react-server-dom-parcel -
react-server-dom-turbopack - Frameworks e compilações subsequentes que incluem estes pacotes (por exemplo, determinadas versões do Next.js)
Nota: mesmo que a sua aplicação não utilize "funções de servidor", o suporte RSC pode ainda expor a vulnerabilidades. As verificações de inventário e versão são essenciais.
Existem soluções?
Sim, já foram lançadas versões corrigidas. A solução definitiva é atualizar os pacotes vulneráveis e as frameworks subsequentes, recompilar e voltar a implementar o sistema. As regras temporárias de firewall/WAF podem reduzir o risco enquanto aplica os patches, mas não substituem a atualização.
Plano de ação imediata — o que fazer agora mesmo
- Faça um inventário da sua infraestrutura: confirme se a sua loja utiliza React, Next.js ou qualquer framework compatível com RSC.
-
Verifique as versões: inspecione
package.json, os ficheiros de bloqueio e qualquer código de servidor incluído em busca de versões vulneráveis doreact-server-dom-*e dos pacotes relacionados. - Aplique as correções e reimplemente: atualize para os pacotes corrigidos e as versões da estrutura atualizadas e, em seguida, reconstrua e reimplemente a sua aplicação.
- Mitigação temporária: se não for possível aplicar o patch imediatamente, implemente regras WAF ou bloqueios de firewall para restringir os payloads POST/Flight suspeitos — esta é apenas uma medida paliativa.
- Auditar e monitorizar: procure nos registos do servidor pedidos inesperados, rode imediatamente os dados comprometidos e prepare a sua equipa de resposta a incidentes para o caso de indícios de comprometimento.
Lista de verificação para programadores (copiar/colar)
# Lista de verificação rápida para programadores/operações 1. Aceda ao diretório /caminho/para/o/projeto 2. grep -R "react-server-dom" package.json package-lock.json yarn.lock || verdadeiro 3. npm ls react-server-dom-webpack || verdadeiro 4.º Atualizar pacotes: - npm install react@latest react-server-dom-webpack@<versão-corrigida> (ou execute a atualização recomendada para o seu projeto) - Atualize o Next.js ou outro framework para a versão corrigida recomendada pelo fornecedor. 5. Reconstruir e reimplantar (CI/CD): construir → testar → implantar em ambiente de teste → teste de fumo → promover para produção 6. Adicionar regra WAF bloqueando payloads de voo suspeitos (temporário) 7.º Analise os registos do servidor (dos últimos 7 a 14 dias) em busca de pedidos POST suspeitos nos endpoints das funções do servidor. 8.º Alterne os segredos e as chaves implantados caso seja detetada alguma atividade suspeita.
Substitua <patched-version> pelas versões corrigidas exatas publicadas pelo React/fornecedor da sua framework. A etapa do WAF é temporária e não deve atrasar as atualizações.
Porque é que isso deve ser uma prioridade máxima
Os sites que lidam com informações de clientes, encomendas, pagamentos e lógica de negócio são a prioridade máxima — todos alvos de alto valor. Uma vez que a exploração da vulnerabilidade CVE-2025-55182 não requer autenticação e pode resultar na execução de código, o potencial de perda de dados, interrupção operacional e danos na reputação é elevado. Trate a aplicação de patches como uma emergência operacional.
Considerações finais
A vulnerabilidade CVE-2025-55182 serve como um lembrete de que as estruturas modernas oferecem poder, mas requerem vigilância.