Patches de segurança de outubro de 2026: Next.js 16.4.1 e PgBouncer 1.26.1

O que corrigem as atualizações de segurança do Next.js de 30 de setembro e 14 de outubro de 2026 e a do PgBouncer 1.26.1, quem fica exposto em cada caso e um verificador de versões.

Neste artigo
Em 30 segundos

Em 14 de outubro o Next.js publicou a 16.4.1 e a 15.5.28 com duas correções críticas de execução remota de código e uma de negação de serviço, e o PgBouncer 1.26.1 corrigiu um bypass de autenticação SCRAM; se você usa qualquer um dos dois, revise a sua versão hoje.

1. Next.js: a atualização fora de ciclo de 14 de outubro#

Em 14 de outubro de 2026 o Next.js publicou uma atualização de segurança fora de ciclo com duas correções adiadas da versão de setembro por atrasos em dependências de terceiros. As versões corrigidas são a 16.4.1 (linha de suporte ativo) e a 15.5.28 (linha de manutenção). Para instalá-las: npm install [email protected] ou npm install [email protected].

FalhaGravidadeQuem fica expostoIdentificador
Execução remota de código sem autenticação em funções use cache que devolvem arrays tipadosCríticaApp Router com Cache Components; sem solução alternativaGHSA-673q-mjm6-r5xr
Execução remota de código na API de otimização de imagens com SVGCríticaNext.js em Linux com glibc; solução alternativa: sharp 0.35.5 ou superiorCVE-2026-96889
Negação de serviço no App Router com Server ActionsAltaApps com pelo menos uma Server Action; o Pages Router não é afetadoGHSA-p3m5-59mp-jv5r

Para a execução remota de código em use cache, o Next.js indica que não há solução alternativa e que é preciso atualizar mesmo que a sua aplicação não tenha funções parecidas. Para a de imagens com SVG, a solução alternativa é usar sharp 0.35.5 ou superior; atualizar o Next.js faz o gerenciador de pacotes instalar uma versão corrigida.

Documentação: Next.js: atualização de segurança de 14 de outubro de 2026 (inglês) ↗

2. Next.js: a versão de setembro#

Em 30 de setembro de 2026 o Next.js já havia publicado correções nas versões 16.3.8 e 15.5.27. As falhas são em sua maioria de gravidade média e dependem de configurações concretas. A tabela indica quem cada uma afeta.

FalhaGravidadeQuem fica exposto
SSRF na otimização de imagens (CVE-2026-94483)AltaApps com images.remotePatterns configurado
Envenenamento de cache SSG/ISR no Pages Router auto-hospedado (CVE-2026-94543)MédiaAuto-hospedado; a Vercel não é afetada
Envenenamento de cache com página curinga na raiz (CVE-2026-94484)MédiaPáginas SSG/ISR com rota curinga na raiz
Vazamento em rotas de imagens de metadados (CVE-2026-94485)MédiaApp Router compilado com webpack; o Turbopack não é afetado
Vazamento entre valores de parâmetros raiz em use cache aninhado (GHSA-h694-7cp9-m8p3)MédiaCom Cache Components
Conteúdo do Draft Mode vazado de use cache (CVE-2026-94544)MédiaCom Cache Components e prévias em Draft Mode
Vazamento no endpoint MCP do servidor de desenvolvimento (CVE-2026-94486)BaixaSó com next dev

Quem estiver na 16.3.8 tem as correções de setembro mas não as de outubro, que só foram publicadas na 16.4.1 e na 15.5.28.

Documentação: Next.js: versão de segurança de setembro de 2026 (inglês) ↗

3. PgBouncer 1.26.1#

O PgBouncer 1.26.1 foi publicado em 14 de outubro de 2026 e corrige três vulnerabilidades. A mais séria é um bypass de autenticação: um cliente que conhece a senha de um usuário do arquivo de autenticação pode entrar como outro usuário SCRAM, incluindo administradores. O registro de mudanças não indica pontuação de gravidade.

CVETipoVersões afetadasCondição
CVE-2026-107350Bypass de autenticação1.17.0 a 1.26.0Ambos os usuários usam SCRAM; o atacante conhece a senha de um usuário do auth_file
CVE-2026-107349Negação de serviço1.20.0 a 1.26.0ignore_startup_parameters não vazio e sem options
CVE-2026-107348Negação de serviço1.21.0 a 1.26.0max_packet_size de 2147483649 ou mais; o padrão não é afetado

Se você usa o PgBouncer com SCRAM para vários usuários, priorize esta atualização. A versão 1.26.1 é a mais recente segundo o registro de mudanças.

Documentação: PgBouncer: registro de mudanças (inglês) ↗ · PostgreSQL: notícias (inglês) ↗

4. Verifique as suas versões#

O script compara uma versão do Next.js com as versões corrigidas dos avisos e uma do PgBouncer com as faixas afetadas que o seu registro de mudanças publica. Uma linha do Next.js sem versão corrigida nos avisos (por exemplo a 16.2) é tratada como «atualize para a 16.4.1», porque os avisos não listam uma versão corrigida para ela.

python
import re

L = {"ok": "em dia", "next": "atualize para %s", "newer": "linha mais nova que as corrigidas: revise os avisos"}

def parse(version):
    return tuple(int(n) for n in re.findall(r"\d+", version)[:3])

def next_action(version):
    major, minor, patch = parse(version)
    if (major, minor) > (16, 4):
        return L["newer"]
    if (major, minor) == (16, 4):
        return L["ok"] if patch >= 1 else L["next"] % "16.4.1"
    if (major, minor) == (15, 5):
        return L["ok"] if patch >= 28 else L["next"] % "15.5.28"
    return L["next"] % "16.4.1"          # linhas sem versão corrigida nos avisos

PGBOUNCER = {                            # CVE: (primeira versão afetada, última afetada)
    "CVE-2026-107350": ((1, 17, 0), (1, 26, 0)),
    "CVE-2026-107349": ((1, 20, 0), (1, 26, 0)),
    "CVE-2026-107348": ((1, 21, 0), (1, 26, 0)),
}

def pgbouncer_cves(version):
    v = parse(version)
    return [cve for cve, (first, last) in PGBOUNCER.items() if first <= v <= last]

for v in ["16.2.12", "16.3.8", "16.4.0", "16.4.1", "15.5.27", "15.5.28"]:
    print("next", v, "->", next_action(v))
for v in ["1.19.1", "1.22.0", "1.26.0", "1.26.1"]:
    print("pgbouncer", v, "->", pgbouncer_cves(v))
Imprime o estado de seis versões do Next.js e de quatro do PgBouncer. As regras saem dos avisos acima; não substitui ler os avisos completos.

5. O que fazer hoje#

  • Revise a versão do Next.js em cada projeto com npm ls next e atualize para a 16.4.1 ou a 15.5.28.
  • Se não puder atualizar de imediato e usa next/image com SVG, fixe o sharp em 0.35.5 ou superior.
  • Veja se usa use cache (Cache Components) ou Server Actions: são as superfícies das falhas mais graves.
  • Atualize o PgBouncer para 1.26.1, sobretudo se ele autentica vários usuários com SCRAM.
  • Reconstrua e implante de novo: atualizar o package.json não basta até que a imagem ou o servidor use a nova versão.
  • Anote no seu inventário quais projetos foram corrigidos e a data.

Nós aplicamos na Codifly: o site estava na 16.2.12 e o subimos para a 16.4.1 depois que os testes e a compilação passaram.

Para se aprofundarPor que seu build funciona local, mas falha no deploy

6. Mantenha seus números em dia#

As versões e os identificadores são os dos avisos publicados até 19 de outubro de 2026. Podem aparecer novas correções; revise os avisos oficiais do Next.js e do PostgreSQL com regularidade.

  • Assine os avisos de segurança do Next.js e do PgBouncer.
  • Automatize um alerta quando a sua versão ficar abaixo da corrigida.
  • Teste em um ambiente de testes antes de promover para produção.

Fontes e escopo

Documentação consultada em 19 de outubro de 2026. Os exemplos e critérios de decisão são propostas editoriais; adapte-os ao contrato da sua aplicação e valide-os no seu ambiente de testes autorizado.

Compare estas opções

Compare opções de nuvem

Confira preços, limites, condições e fontes de cada opção.

Abrir comparador
Consultoria

Seu caso é diferente?

Conte seu contexto e as opções que você está avaliando. Respondemos com critérios e fontes, sem assinaturas automáticas.

Pedir consultoria