O cache de respostas, as Server Actions e algumas configurações de autenticação e imagens aparecem nos nove avisos desta data. Confira em cada ficha quais recursos tornam sua aplicação afetada e compare a versão instalada com o intervalo correspondente. As condições variam entre as falhas, inclusive conforme o runtime e a hospedagem.
AplicativoNext.js
Data do compilado
Vulnerabilidades9
As pontuações são do CVSS 4.0. O estado de correção informa que o projeto publicou uma versão corrigida, mas você precisa conferir qual versão está executando no seu ambiente.
Gravidade altaCVSS: 8,3/10Correção disponível
Autenticação no Middleware ou Proxy pode ser contornada com Turbopack e locale único
Requisições preparadas para essa falha podem alcançar uma aplicação sem passar pela autenticação implementada no Middleware ou Proxy. O cenário exige a combinação do App Router, de um build feito com Turbopack e de exatamente uma entrada em config.i18n.locales. Quando você concentra a autorização nessa camada, o acesso ao conteúdo depende de uma checagem que a requisição pode contornar.
Casos de uso afetados
Você usa o App Router, gera o build com Turbopack e configura apenas um locale. As páginas restritas confiam na autenticação do Middleware ou Proxy sem conferir a autorização no código do servidor que consulta o conteúdo.
Confira na sua instância
Confira o comando e os logs do build publicado para confirmar o uso do Turbopack. Abra a configuração efetiva de i18n e verifique se locales possui exatamente uma entrada. Depois, acompanhe o código de uma página restrita até a consulta no servidor e confirme se você valida a sessão e a permissão também nesse ponto.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
Enquanto a atualização não puder ser aplicada, o comunicado orienta conferir a autorização no caminho de consulta da página no servidor, além da checagem existente no Middleware.
Gravidade altaCVSS: 8,3/10Correção disponível
Cabeçalhos de host controlados pelo cliente podem desviar requisições de Server Actions
Ao encaminhar ou redirecionar uma requisição de uma Server Action, o servidor pode usar um destino influenciado pelos cabeçalhos associados ao host. Um atacante capaz de controlar esses cabeçalhos pode fazer a aplicação enviar a chamada para um host malicioso, caracterizando uma falsificação de requisição pelo servidor. Em algumas configurações, a falha também permite obter valores internos que enfraquecem a autorização do Middleware ou Proxy.
Casos de uso afetados
Você executa Server Actions em um servidor customizado que aceita o Host recebido do cliente sem fixá-lo a um destino confiável.
Seu deploy utiliza um proxy que repassa Host ou X-Forwarded-Host sem validação, permitindo que esses cabeçalhos influenciem o encaminhamento realizado pelas Server Actions.
Confira na sua instância
Revise o servidor customizado e a configuração do proxy para acompanhar qual Host e qual X-Forwarded-Host chegam à aplicação. Você deve confirmar se valores enviados pelo cliente são substituídos por uma origem confiável ou recusados quando não correspondem aos hosts permitidos. A partir da versão 14.2.0, confira também se __NEXT_PRIVATE_ORIGIN, quando utilizada, corresponde à origem real do deploy.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 14.x a 15.x
>= 14.1.1 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
A hospedagem gerenciada que fixa o host na camada anterior à aplicação não é afetada. Segundo o comunicado, next start e a saída standalone também fixam o host desde a versão 14.2. A mitigação inclui fixar ou validar Host e X-Forwarded-Host no proxy.
Gravidade altaCVSS: 8,3/10Correção disponível
Hostnames dinâmicos em rewrites e redirects podem levar a destinos arbitrários
Uma configuração de rewrites ou redirects que monta o hostname externo com conteúdo da requisição pode permitir a escolha de um host arbitrário, mesmo quando o destino possui um sufixo aparentemente fixo. No rewrite, a aplicação envia a requisição ao host escolhido e apresenta a resposta pela própria origem, caracterizando uma falsificação de requisição pelo servidor. No redirect, o navegador pode ser enviado para um destino externo indevido.
Casos de uso afetados
Você usa um segmento do caminho para formar um subdomínio externo em rewrites, como um identificador de tenant inserido no hostname.
Sua configuração captura um parâmetro da requisição com has e o utiliza no hostname de um rewrite ou redirect, aceitando caracteres além dos necessários para o subdomínio.
Confira na sua instância
Abra as configurações de rewrites e redirects no next.config e procure segmentos dinâmicos dentro do hostname de destination. Acompanhe a origem de cada segmento, incluindo capturas feitas por has. Você deve conferir se o valor recebido aceita somente letras minúsculas de a a z, números e hífen quando o subdomínio dinâmico for necessário, conforme a restrição indicada no aviso.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 12.x a 15.x
>= 12.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
Como mitigação, o comunicado orienta evitar hostnames construídos com conteúdo controlado pelo cliente. Quando o subdomínio precisar variar, a captura pode usar a expressão (?<region>[a-z0-9-]+) indicada no aviso.
Gravidade altaCVSS: 8,2/10Correção disponível
Requisições a Server Actions podem ocupar a CPU e interromper o atendimento
Uma aplicação com o App Router e pelo menos uma Server Action pode receber requisições preparadas para provocar processamento excessivo. O consumo de CPU impede que o mesmo processo atenda às outras requisições, causando indisponibilidade. A condição informada neste aviso não exige o Edge runtime, diferentemente da falha de consumo de memória descrita em outra ficha.
Casos de uso afetados
Você mantém uma aplicação com o App Router e uma Server Action publicada. O processo que atende essa função também recebe as demais requisições da aplicação, que podem ficar sem resposta durante o consumo excessivo de CPU.
Confira na sua instância
Confirme se o build publicado inclui funções com use server e utiliza o App Router. Consulte a versão de next instalada no ambiente para compará-la com os intervalos afetados. Nos registros de monitoramento, você pode conferir se picos de CPU coincidem com chamadas às Server Actions e com atrasos nas demais respostas, mas essa correlação isolada não comprova exploração.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 13.x a 15.x
>=13.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
O comunicado não informa uma mitigação alternativa à atualização. Aplicações com o Pages Router ou que não utilizam Server Actions não são afetadas.
Gravidade moderadaCVSS: 6,3/10Correção disponível
Respostas de requisições com codificação diferente de UTF-8 podem compartilhar o cache
O cache usado pelo fetch no servidor pode associar corpos diferentes à mesma entrada quando eles contêm sequências de bytes inválidas em UTF-8. Assim, uma chamada para a mesma URL pode receber o corpo da resposta de outra requisição e expor informações confidenciais. As requisições continuam sendo enviadas separadamente, por isso você pode observar chamadas distintas no destino mesmo quando a resposta devolvida está errada.
Casos de uso afetados
Sua aplicação usa o App Router e realiza chamadas fetch no servidor com corpos codificados em UTF-16 ou outro charset diferente de UTF-8. O cenário afetado envolve respostas em cache para a mesma URL, mas com conteúdo que deveria variar conforme o corpo enviado.
Confira na sua instância
Revise as chamadas fetch que enviam um corpo no servidor e confira tanto o charset declarado no Content-Type quanto a codificação efetiva dos bytes. Você deve procurar especialmente conversões para UTF-16 e repasses de corpos recebidos de integrações. Compare também a versão de next instalada no ambiente com as faixas desta ficha.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 13.x a 15.x
>=13.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
O Pages Router não é afetado. Como medida temporária, o comunicado orienta usar somente corpos em UTF-8 nas chamadas fetch, que é a codificação padrão do Next.js.
Gravidade moderadaCVSS: 6,3/10Correção disponível
Corpos sem limite nas Server Actions do Edge runtime podem esgotar a memória
Uma Server Action executada no Edge runtime pode consumir memória excessiva ao receber um corpo de requisição sem o limite adequado. A falha alcança aplicações com o App Router e pelo menos uma Server Action nesse runtime. Você precisa conferir o limite aplicado pela hospedagem, porque a existência da função já permite que ela receba requisições direcionadas ao recurso.
Casos de uso afetados
Você publica uma aplicação com o App Router e uma Server Action executada no Edge runtime, mas a hospedagem aceita corpos maiores que o máximo recomendado no aviso.
Confira na sua instância
Localize as Server Actions e confirme o runtime efetivo dos segmentos que as executam, incluindo configurações herdadas. No provedor de hospedagem, consulte o limite do corpo aceito e verifique se ele é aplicado às requisições dessas funções. Para a mitigação indicada, o máximo permitido deve ser de 5 MiB.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 13.x a 15.x
>=13.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
O comunicado recomenda limitar o corpo na hospedagem a, no máximo, 5 MiB quando a atualização ainda não puder ser aplicada. Essa medida não equivale a instalar a correção.
Gravidade moderadaCVSS: 6,3/10Correção disponível
Arquivos públicos do cliente podem revelar identificadores de funções do servidor
Os arquivos do cliente servidos publicamente podem conter referências que revelam identificadores de Server Actions e endpoints associados a use server ou use cache. A autenticação da página que utiliza essas funções não impede a descoberta dessas referências. Essa exposição permite a um atacante localizar funções internas, mas o conhecimento do identificador, por si só, não comprova acesso autorizado nem execução de uma ação.
Casos de uso afetados
Sua aplicação usa o App Router e Server Actions em páginas autenticadas, mas publica arquivos JavaScript com referências a essas funções. Você presume que a restrição da página também torna os identificadores inacessíveis.
Confira na sua instância
Em uma sessão sem autenticação, confira quais arquivos JavaScript do build podem ser baixados publicamente e procure referências às Server Actions. No código do servidor, revise a autenticação dentro das funções com use server e nos pontos associados a use cache. Você deve verificar a sessão dentro dessas funções, sem presumir que a autenticação da página já foi aplicada à chamada.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 13.x a 15.x
>= 13.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
A descoberta dos endpoints pode facilitar a exploração de outras falhas. O comunicado orienta autenticar as chamadas dentro das funções, mesmo quando elas são usadas por páginas restritas.
Gravidade moderadaCVSS: 6,3/10Correção disponível
Imagens SVG remotas podem esgotar a CPU na otimização de imagens
A otimização de imagens pode consumir CPU excessiva ao processar conteúdo malicioso de imagens remotas em uma instalação própria do Next.js. O cenário exige o loader padrão e a configuração que permite otimizar imagens externas, recurso que não vem habilitado por padrão. As requisições ao endpoint /_next/image podem causar indisponibilidade durante esse processamento.
Casos de uso afetados
Você hospeda o Next.js em infraestrutura própria, utiliza o loader padrão e permite imagens remotas. Quando remotePatterns está configurado, a exposição se limita às origens e aos caminhos aceitos pelos padrões desse array.
Confira na sua instância
Confira onde a aplicação está hospedada e abra a configuração de images no next.config. Você deve verificar se a otimização está ativa, se o loader é o padrão e quais imagens externas são aceitas por remotePatterns. Para a mitigação temporária, confira se experimental.imgOptSkipMetadata está definido como true na configuração efetivamente usada pelo deploy.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 15.5.x
>=15.5.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
A hospedagem na Vercel não é afetada por este aviso. As configurações images.unoptimized: true e images.loader: 'custom' também estão fora do cenário afetado. O comunicado indica experimental.imgOptSkipMetadata: true para evitar o processamento custoso enquanto a atualização não for aplicada.
Gravidade moderadaCVSS: 6,0/10Correção disponível
Opções divergentes entre Request e fetch podem misturar respostas no cache
Uma chamada fetch no servidor pode calcular o cache incorretamente quando recebe um objeto Request e opções diferentes das usadas para construir esse objeto. Duas requisições para a mesma URL, mas com corpos distintos, podem receber a mesma resposta armazenada. Caso essa resposta contenha informações confidenciais, elas podem chegar a uma requisição sem autorização, mesmo com o envio separado das chamadas ao destino.
Casos de uso afetados
Sua aplicação usa o App Router e possui uma função auxiliar que monta um Request com determinadas opções, mas acrescenta ou substitui essas opções no segundo argumento de fetch. A falha envolve chamadas com corpo e respostas que deveriam permanecer separadas no cache.
Confira na sua instância
Procure chamadas fetch cujo primeiro argumento seja um objeto Request e que também recebam um segundo argumento de opções. Você deve comparar as opções utilizadas na construção do Request com as opções efetivamente passadas ao fetch, acompanhando também as funções auxiliares que alteram o corpo. O aviso identifica a divergência entre esses argumentos como a condição específica desta falha.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
next (npm), 13.x a 15.x
>=13.0.0 < 15.5.21
15.5.21
next (npm), 16.x
>= 16.0.0 < 16.2.11
16.2.11
O Pages Router não é afetado. O comunicado não apresenta uma mitigação alternativa à atualização, embora diferencie as chamadas que reutilizam as mesmas opções das chamadas com opções divergentes.
Programador há mais de 20 anos, fundador da Powertic e da Promovaweb. Embaixador do n8n no Brasil e da Baserow, Chatwoot, Miro e Kestra. Membro do Product Team do Mautic.
Canais oficiais
Nossos Links
Encontre a Promovaweb no canal que combina com o seu próximo passo.