Falhas críticas em React e Next.js: tudo o que você precisa saber

Paulo Coutinho Portuguese Iniciante
Falhas críticas em React e Next.js: tudo o que você precisa saber

Duas vulnerabilidades críticas de execução remota de código (RCE) estão tirando o sono de times de segurança e desenvolvimento: CVE-2025-55182, em React, e CVE-2025-66478, em Next.js. As duas exploram problemas na forma como o protocolo “Flight” dos React Server Components (RSC) lida com dados recebidos.

O impacto é pesado: um atacante pode executar código no servidor sem precisar se autenticar, usando apenas uma requisição HTTP especialmente montada. E o pior: apps com configuração padrão já estão vulneráveis.

O que torna essas falhas tão perigosas?

Essas vulnerabilidades afetam o ecossistema do React 19 e frameworks que implementam o protocolo RSC “Flight”, com destaque para o Next.js. Ambas foram catalogadas da seguinte forma:

  • CVE-2025-55182: falha crítica de RCE não autenticada no pacote react-server, usado pelos React Server Components.
  • CVE-2025-66478: falha correspondente em Next.js, que herda o mesmo problema por meio da implementação do protocolo “Flight”.

O coração do problema está na desserialização insegura dos payloads RSC. Em termos simples: o servidor recebe dados do cliente, tenta interpretar esses dados como estrutura interna dos componentes e, nesse processo, não valida corretamente se o conteúdo está bem formado.

Quando o payload é malformado de propósito, um invasor consegue fazer com que dados controlados por ele interfiram diretamente na lógica de execução do servidor. Isso abre espaço para a execução de código JavaScript com privilégios elevados no ambiente de backend.

Nos testes realizados, a exploração mostrou alta confiabilidade, com taxa de sucesso próxima de 100% e possibilidade real de virar uma RCE completa. E tudo isso sem login, sem token, sem sessão: basta enviar uma requisição HTTP construída sob medida para o servidor alvo.

Configuração padrão também está vulnerável ⚠️

Um ponto crítico aqui é que a vulnerabilidade aparece na configuração padrão das aplicações afetadas. Ou seja, aquele app básico gerado com create-next-app, compilado para produção, já pode ser explorado sem que o desenvolvedor tenha mexido em nada específico para RSC.

Isso significa que qualquer deployment padrão desses frameworks já entra no radar de atacantes assim que fica exposto à internet.

O que já se sabe (e o que ainda está sendo segurado)

Para não facilitar a vida de quem quer explorar essas falhas, detalhes técnicos mais profundos e exploits completos estão sendo temporariamente ocultados pelos pesquisadores. Eles informam que já possuem um prova de conceito funcional de RCE, mas decidiram não divulgar o código por enquanto.

As informações liberadas até agora têm foco em ajudar equipes de segurança a entender o tamanho do risco e priorizar correções, não em ensinar a explorar o bug.

Impacto em nuvem: números nada animadores 🌩️

Dados da Wiz Research mostram que 39% dos ambientes em nuvem analisados possuem instâncias de Next.js ou React em versões vulneráveis ao CVE-2025-55182 e/ou CVE-2025-66478.

O cenário com Next.js chama ainda mais atenção:

  • O framework aparece em 69% dos ambientes.
  • Em 61% desses ambientes, há aplicações públicas rodando Next.js.

Na prática, isso significa que 44% de todos os ambientes em nuvem avaliados têm instâncias de Next.js expostas publicamente, independentemente da versão em uso. Em outras palavras: a superfície de ataque é muito grande.

Quais produtos estão afetados?

As versões vulneráveis e seus respectivos releases corrigidos foram divulgados da seguinte forma:

  • react-server-dom* vulneráveis:
    • 19.0.0, 19.1.0, 19.1.1 e 19.2.0
  • Releases corrigidos para react-server-dom*:
    • 19.0.1, 19.1.2 e 19.2.1
  • Next.js vulneráveis (App Router):
    • 14.3.0-canary, toda a série 15.x e toda a série 16.x
  • Releases corrigidos de Next.js:
    • 14.3.0-canary.88
    • 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
    • 16.0.7

Além disso, qualquer framework ou biblioteca que traga junto a implementação de react-server provavelmente também está vulnerável. Entre os exemplos citados estão:

  • Next.js
  • Vite RSC plugin
  • Parcel RSC plugin
  • React Router RSC preview
  • RedwoodSDK
  • Waku

Um ponto positivo no meio disso tudo: a Google informou que as imagens públicas de sistemas operacionais fornecidas pelo Google Cloud para o Compute Engine não são afetadas por padrão.

O que as equipes de segurança devem fazer agora 🛠️

A recomendação é clara: aplicar patches imediatamente. A orientação para times de segurança e desenvolvimento é bem direta:

  1. Atualizar React e dependências para as versões endurecidas (hardened) listadas nos releases corrigidos. Essa é considerada a única mitigação definitiva.
  2. Se você usa outros frameworks com suporte a RSC, como Redwood, Waku e similares, é hora de:
    • verificar os canais oficiais desses projetos,
    • confirmar qual versão de react-server eles estão empacotando,
    • e atualizar assim que houver release com correção.

Clientes da Wiz têm à disposição uma query pronta e um advisory no Wiz Threat Center para localizar rapidamente instâncias vulneráveis dentro do ambiente.

E se você achar que está sendo atacado?

Com vulnerabilidades como CVE-2025-55182 e CVE-2025-66478 em jogo, qualquer indício de comportamento estranho em aplicações que usam React Server Components ou Next.js precisa ser levado a sério.

O recado para as organizações é simples: tratar esse caso como prioridade alta, aplicar as atualizações disponíveis e revisar com atenção todos os serviços que expõem endpoints RSC à internet.

react 19 next.js rce vulnerabilidade crítica react server components flight protocol desserialização insegura cve-2025-55182 cve-2025-66478 execução remota de código