Segurança

Next.js lança correção fora de cronograma para duas falhas críticas de execução remota de código em cache e processamento de SVG

A Next.js lançou uma atualização de segurança fora de cronograma em 14 de outubro que corrige duas falhas críticas que permitem execução remota de código sem autenticação, além de uma falha de alta gravidade que causa negação de serviço. Uma das falhas de execução de código está nos React Server Components; a outra, na librsvg, biblioteca de código aberto que a Next.js usa por meio do pacote sharp para processar imagens SVG.


Swati Khandelwal Quinta - 15 de Outubro de 2026 às 11:29
The Hacker News

A Next.js lançou uma atualização de segurança fora de cronograma em 14 de outubro que corrige duas falhas críticas que permitem execução remota de código (RCE) sem autenticação, além de uma falha de alta gravidade que causa negação de serviço.

Uma das falhas de execução de código está nos React Server Components; a outra, na librsvg, biblioteca de código aberto que a Next.js usa por meio do pacote sharp para processar imagens em formato SVG (Scalable Vector Graphics).

As correções estão nas versões Next.js 16.4.1 e 15.5.28, que são as atuais linhas de suporte de longo prazo (LTS, na sigla em inglês para Long-Term Support) em estado Active e Maintenance.

O que foi corrigido

A atualização trata de três problemas distintos. A Vercel, que desenvolve a Next.js, classificou as duas falhas de execução de código como críticas, cada uma com pontuação 9,5 no CVSS (sistema de pontuação de severidade de vulnerabilidades). A tabela a seguir lista as versões afetadas por cada problema e a versão que o corrige.

Quem é afetado

A primeira falha de execução de código está nos React Server Components, recurso do React que executa componentes de interface no servidor. O comunicado do React abrange três pacotes (react-server-dom-webpack, react-server-dom-parcel e react-server-dom-turbopack) nas versões 19.0.0 até 19.3.0. O texto descreve a falha como afetando «casos extremamente raros em que respostas transportam múltiplos arrays tipados e um valor controlado por um atacante».

Em um aplicativo Next.js, o gatilho é uma função use cache que retorna mais de um array tipado. Por isso, apenas aplicativos da versão 16 que habilitam o Cache Components, recurso por trás do use cache, estão expostos. A Vercel afirma que é preciso atualizar mesmo se o aplicativo não tiver nenhuma função desse tipo.

A segunda falha é um erro de memória na librsvg, biblioteca que renderiza imagens SVG e que a Next.js acessa por meio do pacote sharp incluído. Segundo o comunicado, a execução de código é possível quando a Next.js roda em Linux baseado em glibc (biblioteca C usada pelo sistema).

Por padrão, a Next.js não otimiza arquivos SVG. Para servi-los pelo otimizador de imagens, é preciso ativar uma configuração chamada dangerouslyAllowSVG. A mesma biblioteca também renderiza imagens para o next/og, recurso que gera imagens de pré-visualização para redes sociais, quando esse recurso roda no ambiente de execução Node.js.

A terceira falha é de negação de serviço. Em aplicativos do App Router que definem pelo menos uma Server Action, requisições elaboradas podem levar um processo do servidor a 100% de uso do processador (CPU) e impedi-lo de atender outras requisições. Aplicativos do Pages Router, ou que não usam Server Actions, não são afetados.

A exposição pode variar de acordo com a hospedagem. A Netlify informou que sua plataforma não executa o caminho de código do otimizador de imagens e que as falhas têm impacto limitado em sua configuração, mas recomendou a atualização mesmo assim.

O que fazer

Atualize para a Next.js 16.4.1, se você usa a versão 16, ou para a 15.5.28, se usa a versão 15. Depois, recompile e publique novamente o aplicativo.

O comunicado da Vercel diz que, ao atualizar a Next.js, os gerenciadores de pacotes instalam automaticamente o sharp corrigido. Na versão 16, isso acontece, porque a 16.4.1 exige o sharp 0.35.5.

Na versão 15, pode não acontecer. A 15.5.28 ainda aceita o sharp 0.34.x anterior, que é afetado, e atualizar sobre uma instalação existente pode manter essa versão. Verifique com o comando npm ls sharp (gerenciador de pacotes do Node.js) e, se a versão for anterior, atualize o sharp para a 0.35.5 ou mais recente.

Se não for possível atualizar a Next.js imediatamente, há uma solução provisória para a falha de imagem: garantir que o sharp esteja na versão 0.35.5 ou superior ou bloquear a renderização de SVG no sharp com sharp.block({ operation: ["VipsForeignLoadSvg"] }), como descreve o comunicado do sharp. As falhas de use cache e de Server Actions não têm solução alternativa, e só a atualização as resolve.

Até 15 de outubro, os comunicados sobre use cache e Server Actions não tinham identificador CVE (Common Vulnerabilities and Exposures) e não apareciam no feed de alertas do npm usado pelo npm audit. Por isso, ferramentas de verificação de dependências podem não alertar sobre elas. A falha de imagem aparece, por meio do comunicado próprio do sharp.

Por que a falha de imagem continua voltando

Esta é a terceira vez desde agosto que o processamento de imagens da Next.js resulta em uma falha de execução de código. Em agosto, um erro na libheif, acessada por meio do sharp, permitiu execução de código quando o otimizador processava uma imagem AVIF elaborada. Em setembro, uma falha no next/og permitiu que um texto controlado por um atacante alterasse o SVG gerado.

Desta vez, a Next.js não alterou o próprio código de imagens. A 16.4.1 traz o mesmo otimizador da 16.4.0 e corrige a falha de imagem ao elevar o sharp incluído para a versão 0.35.5, que inclui uma librsvg corrigida (2.63.2).

O erro na librsvg, CVE-2026-96889, foi tornado público em 23 de setembro e corrigido no sharp em 27 de setembro. A Red Hat atribuiu a ele pontuação 7,8 e afirmou que a exploração depende de interação do usuário, como abrir um arquivo malicioso. A Vercel classificou a exposição da Next.js com pontuação 9,5 e alcançável pela rede.

O pesquisador que reportou o erro na librsvg, Rafael B. Dias, afirma que ele é a fraqueza por trás da falha do next/og de setembro. Um exploit funcional para aquela falha anterior, criado para uma configuração específica de servidor, já foi publicado.

O mantenedor do sharp também alerta que o desfecho da falha, se resultará em execução de código ou apenas em um travamento, pode depender da build do Node.js do servidor, pois os binários oficiais do Node.js não são reforçados contra esse tipo de ataque à memória.

Não é o mesmo que React2Shell

A falha dos React Server Components está nos mesmos três pacotes do React2Shell, falha de severidade máxima divulgada em dezembro de 2025 e explorada em larga escala por atacantes. Esta é bem mais restrita. O React a descreve como afetando «casos extremamente raros em que respostas transportam múltiplos arrays tipados e um valor controlado por um atacante».

Até 15 de outubro, não há relatos públicos de que alguma das três falhas corrigidas em 14 de outubro tenha sido usada em ataques.

Next.js Segurança Vulnerabilidades