A Next.js lançou em 14 de outubro uma atualização de segurança fora de ciclo para corrigir duas falhas críticas que permitiam execução remota de código sem autenticação, além de uma falha grave de negação de serviço.
Uma das falhas de execução de código afeta os React Server Components. A outra está na librsvg, biblioteca open source usada pelo Next.js por meio do pacote sharp para processar imagens SVG.
As correções estão nas versões 16.4.1 e 15.5.28 do Next.js, as versões atualmente suportadas nos canais Active e Maintenance.
O que foi corrigido
A atualização corrige três problemas distintos. A Vercel, responsável pelo desenvolvimento do Next.js, classificou as duas falhas de execução de código como críticas, com pontuação CVSS de 9,5 cada. A tabela mostra as versões afetadas, as versões corrigidas e quais aplicações estão expostas.
| Problema | Versões afetadas | Correção disponível em | Quem está exposto |
|---|---|---|---|
| Execução de código por meio de `use cache` (GHSA-673q-mjm6-r5xr) | 16.0.0 a 16.4.0 | 16.4.1 | Aplicações que usam o App Router com Cache Components ativados, quando uma função `use cache` retorna mais de um typed array |
| Execução de código por meio de imagens SVG (
CVE-2026-96889
, GHSA-2464-fhr4-w9xw) | 10.0.0 a 15.5.27 e 16.0.0 a 16.4.0 | 16.4.1 ou 15.5.28 com sharp 0.35.5 ou posterior | Aplicações que enviam arquivos SVG fornecidos por invasores ao sharp em sistemas Linux baseados em glibc |
| Negação de serviço por meio de Server Actions (GHSA-p3m5-59mp-jv5r) | 13.0.0 a 15.5.27 e 16.0.0 a 16.4.0 | 15.5.28 ou 16.4.1 | Aplicações que usam o App Router e têm pelo menos uma Server Action |
Quem está afetado
A primeira falha de execução de código afeta os React Server Components, recurso que permite executar componentes da interface do usuário no servidor. O comunicado de segurança 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 a 19.3.0. Segundo o comunicado, o problema ocorre em “casos extremamente raros em que as respostas transportam vários typed arrays e um valor controlado por um invasor”.
Em uma aplicação Next.js, a falha pode ser acionada por uma função `use cache` que retorna mais de um typed array. Por isso, estão expostas apenas aplicações da versão 16 que ativaram os Cache Components, recurso que permite usar `use cache`. A Vercel recomenda a atualização mesmo para aplicações que não tenham uma função desse tipo.
A segunda falha é um bug de memória na librsvg, biblioteca que renderiza imagens SVG e que o Next.js acessa por meio do pacote sharp incluído na instalação. De acordo com o comunicado, a execução de código é possível quando o Next.js roda em Linux baseado em glibc.
Por padrão, o Next.js não otimiza arquivos SVG. Para processá-los pelo image optimizer, é preciso ativar a configuração `dangerouslyAllowSVG`. A mesma biblioteca também renderiza imagens para o `next/og`, recurso que cria prévias para redes sociais, quando executado no ambiente de execução do Node.js.
A terceira falha causa negação de serviço. Em aplicações que usam o App Router e definem pelo menos uma Server Action, solicitações elaboradas podem levar um processo do servidor a usar toda a CPU, impedindo-o de atender a outras solicitações. Aplicações que usam o Pages Router ou não têm Server Actions não são afetadas.
O nível de exposição também pode variar conforme o provedor de hospedagem. A Netlify informou que sua plataforma não executa o trecho de código do image optimizer e que, por isso, o impacto das falhas em sua estrutura é limitado. Ainda assim, a empresa recomenda instalar a atualização.
O que fazer
Atualize para o Next.js 16.4.1 se estiver usando a versão 16 ou para o 15.5.28 se estiver na versão 15. Depois, gere uma nova compilação e faça a implantação.
Segundo o comunicado da Vercel, a atualização do Next.js faz com que os gerenciadores de pacotes instalem automaticamente a versão corrigida do sharp. Isso vale para a versão 16, porque o Next.js 16.4.1 exige o sharp 0.35.5.
Na versão 15, porém, a atualização pode não ser suficiente. O Next.js 15.5.28 ainda aceita a versão antiga e vulnerável do sharp 0.34.x. Além disso, uma atualização feita sobre uma instalação existente pode manter essa versão. Verifique com `npm ls sharp` e atualize o sharp para a versão 0.35.5 ou posterior, caso esteja usando uma versão mais antiga.
Se não for possível atualizar o Next.js imediatamente, há uma medida temporária para a falha no processamento de imagens: confirme que o sharp está na versão 0.35.5 ou posterior ou bloqueie a renderização de SVG no sharp com `sharp.block({ operation: ["VipsForeignLoadSvg"] })`, conforme recomenda o comunicado de segurança do sharp. Não há solução temporária para as falhas em `use cache` e nas Server Actions. Somente a atualização as corrige.
Em 15 de outubro, os avisos sobre `use cache` e Server Actions ainda não tinham um CVE e não apareciam no feed de avisos do npm usado pelo `npm audit`. Por isso, ferramentas de análise de dependências podem não alertar sobre esses problemas. A falha relacionada a imagens aparece por meio do aviso do próprio sharp.
Por que a falha no processamento de imagens voltou a ocorrer
Esta é a terceira vez desde agosto que o processamento de imagens no Next.js leva a uma falha de execução de código. Em agosto, um bug na libheif, acessada pelo sharp, permitia executar código quando o image optimizer processava uma imagem AVIF elaborada para explorar a falha. Em setembro, uma vulnerabilidade no `next/og` permitia que texto controlado por um invasor alterasse o SVG gerado pelo recurso.
Desta vez, o Next.js não modificou o próprio código de processamento de imagens. A versão 16.4.1 inclui o mesmo image optimizer da 16.4.0 e corrige o problema ao atualizar o sharp incluído para a versão 0.35.5, que traz uma versão corrigida da librsvg, a 2.63.2.
O bug da librsvg, identificado como
CVE-2026-96889
, foi divulgado em 23 de setembro e corrigido no sharp em 27 de setembro. A Red Hat atribuiu a ele a pontuação 7,8 e afirmou que sua exploração requer interação do usuário, como abrir um arquivo malicioso. Já a Vercel classificou em 9,5 o risco para o Next.js e apontou que a falha pode ser explorada pela rede.
Rafael B. Dias, pesquisador que relatou o bug da librsvg, afirma que ele está por trás da falha no `next/og` divulgada em setembro. Desde então, foi publicado um exploit funcional para essa falha anterior, preparado para uma configuração específica de servidor.
O responsável pela manutenção do sharp também alerta que a falha pode resultar em execução de código ou apenas em uma interrupção do serviço, dependendo da compilação do Node.js usada pelo servidor. Isso ocorre porque os arquivos binários oficiais do Node.js não contam com proteções contra esse tipo de ataque à memória.
Não confunda com React2Shell
A falha nos React Server Components afeta os mesmos três pacotes envolvidos no React2Shell, vulnerabilidade de gravidade máxima divulgada em dezembro de 2025 e explorada em larga escala. O problema atual tem alcance bem mais restrito. O React afirma que ele afeta “casos extremamente raros em que as respostas transportam vários typed arrays e um valor controlado por um invasor”.
Até 15 de outubro, não havia relatos públicos de que qualquer uma das três falhas corrigidas em 14 de outubro tivesse sido usada em ataques.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...