8 pontos por GN⁺ 2025-12-06 | 5 comentários | Compartilhar no WhatsApp
  • 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

 
stech 2025-12-08

Ultimamente a equipe da Vercel está uma bagunça. Parece que chegou a hora de abandonar React/Next.

 
jeiea 2025-12-08

Não foi legal, mas haveria uma forma melhor de responder?

 
laeyoung 2025-12-07

Parece que a equipe da Vercel lançou um comando npx para atualizar de uma vez as versões afetadas por esse problema.

npx fix-react2shell-next

 
shakespeares 2025-12-07

Parece que vai ser preciso verificar se há vulnerabilidade com o comando npm audit e atualizar mesmo..