- Uma vulnerabilidade de execução remota de código (RCE) foi descoberta no React Server Components, permitindo execução de código arbitrário sem autenticação e exigindo atualização imediata
- O Next.js também é afetado e é vulnerável ao usar a função App Router. O Next.js está rastreando isso como CVE-2025-66478
- A causa raiz da falha é server-side prototype pollution (poluição de protótipo no lado do servidor), que permite a um invasor manipular o protótipo de objetos JavaScript e executar comandos por meio de
child_process.execSync, entre outros
- Códigos PoC públicos (provas de conceito) se espalharam rapidamente, e a Datadog detectou mais de 800 IPs com tentativas reais de ataque em 5 de dezembro
- Como a falha recebe pontuação CVSS 10, ela é particularmente crítica nas versões Next.js 15.x~16.x, e a aplicação de patch mais recente é obrigatória
Visão geral da principal vulnerabilidade
- Em 3 de dezembro, foi descoberta uma falha no React Server Components que permite execução de código arbitrário sem autenticação e que foi registrada como CVE-2025-55182
- A vulnerabilidade é executada do lado do servidor, e o atacante pode executar código remotamente
- O Next.js é afetado por incluir esse componente vulnerável
- O Next.js gerencia isso separadamente como CVE-2025-66478, enquanto a NVD recusou oficialmente esse CVE
- O score CVSS é de 10/10. A Datadog confirmou que o ataque é muito simples e pode ser reproduzido em um app Next.js gerado com template padrão
- Em 5 de dezembro, foram observadas tentativas reais de ataque com payloads weaponizados
Versões afetadas e mitigação
- Bibliotecas React vulneráveis:
react-server-dom-parcel, react-server-dom-webpack, react-server-dom-turbopack
- Versões vulneráveis: 19.0~19.2.0 / versões com patch: 19.0.1, 19.1.2, 19.2.1
- Versões afetadas do Next.js
- Vulnerável: 15.x, 16.x, e a partir de 14.3.0-canary.77
- Patch: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
- A verificação de vulnerabilidade pode ser feita com o comando
npm audit
- A solução é atualizar para uma versão corrigida
Análise da vulnerabilidade e PoC
- Em 3 de dezembro, o patch foi commitado no repositório do React
- A mudança atualiza a função
requireModule para verificar se uma propriedade de objeto existe
- A falha é do tipo server-side prototype pollution, permitindo que o invasor manipule o protótipo do objeto para executar código arbitrário
- PoCs públicos:
- O primeiro PoC (
ejpir/CVE-2025-55182-poc) está não funcional
- O segundo PoC (
msanft/CVE-2025-55182) funciona até mesmo em app Next.js padrão
- Em 5 de dezembro, o reportador original, Lachlan Davidson, divulgou três variações de PoC oficiais
Atividade real de ataques
- A Datadog detectou atividade de varredura desde as 22h (UTC) de 3 de dezembro
- Em 5 de dezembro, foi confirmado escaneamento e tentativas de ataque em mais de 800 IPs
- Mais de duas organizações foram alvos e houve atividade contínua observada após 4 de dezembro
- Fluxo de ataque:
- Inicialmente, varredura baseada em PoC não funcional
- Em seguida, substituição do payload pelo PoC de Moritz Sanft e, por fim, pelo PoC de Davidson
- Payloads observados:
- Leitura de
/etc/passwd, execução de whoami, download remoto de scripts via curl/wget, entre outros
- Alguns incluíram roubo de variáveis de ambiente (
.env) e coleta de informações do sistema
Conceito de server-side prototype pollution
- Ocorre como tipo CWE-1321, quando há controle incorreto de propriedades do protótipo de objetos
- Geralmente explorada no frontend como XSS, mas no servidor pode levar a RCE ou leitura de arquivos
- No código de exemplo, a contaminação via
__proto__ modifica Object.prototype, afetando todos os objetos criados posteriormente
- Como resultado, ao chamar
spawnSync('sh'), comandos maliciosos são enviados como input e executados
Detecção e defesa da Datadog
- O Datadog Code Security identifica bibliotecas vulneráveis no GitHub ou em tempo de execução
- Ele oferece busca relacionada a CVE-2025-55182 ou CVE-2025-66478
- O Datadog App and API Protection (AAP) pode bloquear ataques em tempo de execução
- O Datadog Workload Protection oferece regras customizadas para detectar execução de comandos como
wget, curl e bash em processos Node
Referências
- Recomendações oficiais: React, Next.js
- Resposta de provedores de nuvem: AWS, Vercel, Google Cloud, Akamai, Cloudflare
- Análise de fornecedores de segurança: Wiz, Tenable, SearchLight Cyber
- Alertas do CERT: CERT-EU, CERT-SE, CERT-AU
- Scanner público: assetnote/react2shell-scanner
5 comentários
Ultimamente a equipe da Vercel está uma bagunça. Parece que chegou a hora de abandonar React/Next.
Não foi legal, mas haveria uma forma melhor de responder?
Parece que a equipe da Vercel lançou um comando
npxpara atualizar de uma vez as versões afetadas por esse problema.npx fix-react2shell-nextParece que vai ser preciso verificar se há vulnerabilidade com o comando
npm audite atualizar mesmo..Vulnerabilidade de execução remota de código (RCE) no React e no Next.js