Next.js corrige falhas críticas que permitem execução remota de código em windows e Avif

6 минут чтения

Next.js lança correções para duas falhas críticas com risco de execução remota de código

A Vercel disponibilizou atualizações de segurança para corrigir duas vulnerabilidades críticas no Next.js. Os problemas podem permitir execução remota de código sem autenticação e atingem cenários distintos: aplicações executadas em servidores Windows e projetos que processam imagens no formato AVIF.

As falhas exigem atenção imediata de equipes responsáveis por ambientes próprios, especialmente quando o framework é utilizado em aplicações expostas à internet. Até 27 de agosto de 2026, não havia confirmação de exploração ativa dos problemas, mas a gravidade das vulnerabilidades torna a aplicação dos patches uma medida prioritária.

Falha de path traversal afeta instalações em Windows

A primeira vulnerabilidade foi identificada como CVE-2026-75604 e recebeu pontuação 9,0 no CVSS. Trata-se de uma falha de path traversal que pode permitir o acesso ou a manipulação indevida de caminhos no sistema de arquivos.

O problema está restrito a aplicações Next.js executadas em sistemas Windows que utilizam, ao mesmo tempo, o Pages Router e o App Router, sem o recurso Cache Components. Ambientes baseados em Linux e macOS não são afetados por essa falha específica.

Segundo a Vercel, não há uma configuração alternativa capaz de eliminar o risco em instalações vulneráveis hospedadas no Windows. Dessa forma, a correção depende da atualização do framework para uma versão segura.

As versões recomendadas são a 15.5.24, pertencente ao ramo Maintenance LTS, e a 16.3.3, da linha Active LTS. A vulnerabilidade está presente nas versões 13.4 até 15.5.23 e também nas versões 16.0 até 16.3.2.

Os detalhes técnicos completos sobre o método de exploração não foram divulgados. Essa limitação, no entanto, não reduz a necessidade de atualizar os sistemas, já que informações adicionais podem surgir posteriormente e facilitar a criação de exploits.

Processamento de AVIF expõe aplicações a corrupção de memória

A segunda vulnerabilidade envolve o processamento de imagens AVIF e foi registrada como GHSA-2xp9-vwfh-vxw4. Sua pontuação de 9,5 no CVSS v4 indica um nível de severidade extremamente elevado.

O Next.js utiliza o pacote sharp para otimizar imagens. Esse componente depende da biblioteca libheif, responsável pela interpretação de arquivos em formatos derivados do HEIF, incluindo o AVIF.

A falha consiste em um heap buffer overflow. Um invasor pode produzir uma imagem AVIF especialmente manipulada para provocar a gravação de dados além do espaço reservado na memória. Dependendo do ambiente e das condições de execução, essa corrupção pode abrir caminho para a execução remota de código.

Pesquisadores divulgaram um proof of concept desenvolvido em Python que demonstra a corrupção de memória. A possibilidade de obter RCE em diferentes aplicações, contudo, ainda não havia sido validada de forma independente em todos os cenários.

O problema atinge versões do Next.js entre 10.0.0 e 15.5.23, além das versões 16.x até 16.3.2. Existe, porém, um requisito importante: a aplicação precisa ter habilitado explicitamente a otimização de imagens AVIF.

Projetos que não adicionaram o tipo `image/avif` ao arquivo `next.config.js` não ficam expostos a essa vulnerabilidade específica. Ainda assim, a configuração deve ser revisada durante a investigação, pois diferentes ambientes podem utilizar arquivos de configuração distintos entre desenvolvimento, homologação e produção.

Otimização AVIF foi desativada temporariamente

Como resposta imediata, as versões corrigidas do Next.js desabilitam completamente a otimização AVIF. A medida permanecerá em vigor até que uma correção definitiva seja incorporada à biblioteca libheif.

Em 27 de agosto, a versão 1.23.2 da libheif, que deveria incluir a atualização upstream relacionada ao problema, ainda não estava disponível. Por isso, a desativação preventiva reduz a superfície de ataque, embora possa alterar o comportamento de aplicações que dependem da conversão automática de imagens AVIF.

Equipes técnicas devem avaliar o impacto dessa mudança no desempenho, no tamanho dos arquivos e na compatibilidade com navegadores. Caso o formato seja essencial para o produto, é recomendável utilizar temporariamente uma etapa controlada de conversão ou servir imagens em formatos alternativos, como WebP, desde que o fluxo seja devidamente validado.

Quem precisa atualizar

Aplicações hospedadas diretamente na plataforma da Vercel já estão protegidas contra as duas vulnerabilidades, de acordo com a empresa, e não precisam de uma atualização específica para mitigar esses problemas.

A situação é diferente em instalações próprias, servidores virtuais, contêineres e ambientes gerenciados internamente. Nesses casos, os responsáveis devem atualizar o Next.js, reconstruir as imagens de contêiner e reiniciar os serviços para garantir que a versão corrigida esteja realmente em execução.

Também é importante verificar se o pacote `sharp` e suas dependências foram instalados novamente durante o processo de build. Apenas alterar o arquivo de dependências sem gerar um novo artefato de produção pode deixar componentes vulneráveis ativos.

Medidas recomendadas após a atualização

Além de instalar as versões corrigidas, as equipes devem revisar registros de acesso, logs do servidor e mecanismos de upload ou processamento de imagens. É especialmente importante procurar requisições incomuns envolvendo arquivos AVIF, erros de conversão, falhas de otimização e acessos inesperados a caminhos do sistema.

Em aplicações Windows, a análise deve incluir eventos relacionados a leitura ou gravação de arquivos fora dos diretórios esperados. Alterações em arquivos estáticos, configurações, scripts de inicialização e permissões também merecem atenção.

Como prática de defesa em profundidade, o processo de otimização de imagens deve ser executado com privilégios mínimos. O serviço não deve ter permissões administrativas nem acesso amplo ao sistema de arquivos. Restringir diretórios temporários e separar o processamento de imagens da aplicação principal pode reduzir o impacto de uma eventual exploração.

Outra medida útil é limitar o tamanho e a quantidade de arquivos enviados pelos usuários. Validações de extensão e tipo MIME não substituem a atualização, mas ajudam a reduzir tentativas automatizadas e a controlar o consumo de recursos.

Atualização ocorreu antes do calendário previsto

As correções estavam inicialmente previstas para 26 de agosto, dentro do ciclo mensal de segurança da Vercel. O lançamento acabou sendo antecipado em um dia após a identificação de uma vulnerabilidade crítica adicional em uma dependência do projeto.

Esse foi o segundo pacote distribuído no programa mensal de segurança do Next.js, iniciado em julho de 2026. A Vercel associou o aumento no volume de pesquisas sobre falhas ao uso cada vez maior de grandes modelos de linguagem, empregados por pesquisadores para acelerar a identificação de problemas em bibliotecas e frameworks.

Usuários que instalaram as atualizações de segurança publicadas em julho também precisam aplicar o pacote de agosto. Os lançamentos são cumulativos em termos de segurança, e uma correção anterior não protege automaticamente contra vulnerabilidades descobertas posteriormente.

A recomendação geral é atualizar o framework com prioridade, confirmar a versão efetivamente implantada e revisar as configurações de AVIF e os ambientes Windows. Mesmo sem relatos de exploração ativa, a combinação de alta severidade, exposição potencial sem autenticação e disponibilidade de demonstração técnica torna inadequado adiar a correção.