Duas CVEs recém-divulgadas — a CVE-2025-55182 no React Server Components e a CVE-2025-29927 no middleware do Next.js — abrem um caminho para execução remota de código e bypass de autenticação em stacks JavaScript modernos. Uma única requisição pode acionar as falhas; apenas a configuração não pode impedi-las. Equipes que dependem de React Server Components ou do middleware do Next.js devem tratar esses bugs como urgentes e aplicar patches imediatamente.

Por que o ruído nos logs é enganoso

Extraímos um mês de logs de edge de um site Next.js em produção. O conjunto continha 8.900 requisições marcadas como maliciosas. Quase todas falharam no primeiro salto (hop). A URL mais comum era /wp-admin/install.php, atingida 518 vezes, embora o site não execute WordPress, não use PHP e não possua arquivos do WordPress.

Scanners automatizados geram esse tráfego. Eles espalham tentativas pela internet, buscando por:

  • Segredos e arquivos de configuração – 64% das tentativas
  • Painéis e shells PHP – 22%
  • Caminhos do WordPress – 11%
  • Ferramentas de banco de dados – 1%

Uma contagem alta de requisições bloqueadas apenas indica que você não está executando o software que os bots esperam. Isso não garante que a aplicação que você está executando seja segura.

Os ataques silenciosos em nível de framework

Quando um invasor ataca um app Next.js, o tráfego parece requisições comuns de usuários, usando os próprios mecanismos do framework contra ele.

React2Shell (CVE-2025-55182)

Uma falha no React Server Components permite que um invasor injete um payload especialmente elaborado que o servidor avalia como código. O resultado é a execução remota de código completa, sem a necessidade de contornar um firewall ou filtro de aplicação web. A vulnerabilidade reside dentro do framework; o único remédio é atualizar para uma versão que contenha a correção.

Bypass de Autorização no Middleware (CVE-2025-29927)

O middleware do Next.js pode aplicar verificações de segurança baseadas em headers de requisição. Esta CVE mostra que um invasor pode fornecer um header interno específico e fazer com que o middleware pule essas verificações inteiramente. Por fora, a requisição parece comum, dificultando a detecção.

Ambos os bugs mostram que o tráfego mais perigoso pode se misturar ao tráfego cotidiano, evadindo os alarmes que capturam as sondagens barulhentas de WordPress.

Quais são os riscos

  • Desenvolvedores que tratam atualizações de framework como opcionais correm o risco de um takeover completo de seus servidores.
  • Equipes de operações que dependem de configuração estática para fortalecer uma stack não conseguem se proteger contra código que é executado dentro do próprio framework.

Um checklist prático de defesa

  1. Higiene de implantação – Não envie segredos em arquivos como .env. Armazene-os em variáveis de ambiente fornecidas em tempo de execução ou em um sistema dedicado de gerenciamento de segredos.
  2. Superfície de ataque mínima – Desative recursos do framework que você não utiliza. Aplique uma Content-Security-Policy rigorosa que bloqueie o carregamento de scripts não autorizados.
  3. Correção rápida (patching) – Automatize o pipeline de build para que uma nova versão do framework possa ser testada e implantada em poucas horas após o lançamento. Trate as atualizações de segurança como parte regular da cadência de lançamento, não como um pensamento tardio.

O que observar a seguir

  • Inscreva-se nos feeds oficiais de avisos de segurança para React, Next.js e qualquer outra biblioteca de runtime da qual você dependa.
  • Integre scanners de vulnerabilidade que compreendam metadados de pacotes JavaScript, para que uma CVE recém-publicada dispare um alerta automático.
  • Construa um pipeline de implantação pronto para rollback; se um patch introduzir regressões, você poderá reverter rapidamente sem deixar o sistema exposto.

A lição é clara: os ataques mais barulhentos em seus logs são, muitas vezes, uma distração. O perigo real se esconde no framework em que seu código confia. Mantenha a stack enxuta, armazene segredos com segurança e trate patches como rotina, e você transformará ameaças silenciosas de nível de framework em riscos gerenciáveis.