Parches de seguridad de octubre de 2026: Next.js 16.4.1 y PgBouncer 1.26.1

Qué corrigen las actualizaciones de seguridad de Next.js del 30 de septiembre y el 14 de octubre de 2026 y la de PgBouncer 1.26.1, quién queda expuesto en cada caso y un verificador de versiones.

En este artículo
En 30 segundos

El 14 de octubre Next.js publicó 16.4.1 y 15.5.28 con dos correcciones críticas de ejecución remota de código y una de denegación de servicio, y PgBouncer 1.26.1 corrigió una omisión de autenticación SCRAM; si usas cualquiera de los dos, revisa tu versión hoy.

1. Next.js: la actualización fuera de ciclo del 14 de octubre#

El 14 de octubre de 2026 Next.js publicó una actualización de seguridad fuera de ciclo con dos correcciones aplazadas de la versión de septiembre por retrasos en dependencias de terceros. Las versiones corregidas son la 16.4.1 (línea de soporte activo) y la 15.5.28 (línea de mantenimiento). Para instalarlas: npm install [email protected] o npm install [email protected].

HallazgoGravedadQuién queda expuestoIdentificador
Ejecución remota de código sin autenticación en funciones use cache que devuelven arreglos tipadosCríticaApp Router con Cache Components; sin solución alternativaGHSA-673q-mjm6-r5xr
Ejecución remota de código en la API de optimización de imágenes con SVGCríticaNext.js sobre Linux con glibc; solución alternativa: sharp 0.35.5 o superiorCVE-2026-96889
Denegación de servicio en el App Router con Server ActionsAltaApps con al menos una Server Action; el Pages Router no se ve afectadoGHSA-p3m5-59mp-jv5r

Para la ejecución remota de código en use cache, Next.js indica que no hay solución alternativa y que hay que actualizar aunque tu aplicación no tenga funciones parecidas. Para la de imágenes con SVG, la solución alternativa es usar sharp 0.35.5 o superior; actualizar Next.js hace que el gestor de paquetes instale una versión corregida.

Documentación: Next.js: actualización de seguridad del 14 de octubre de 2026 ↗

2. Next.js: la versión de septiembre#

El 30 de septiembre de 2026 Next.js ya había publicado correcciones en las versiones 16.3.8 y 15.5.27. Los hallazgos son en su mayoría de gravedad media y dependen de configuraciones concretas. La tabla indica a quién afecta cada uno.

HallazgoGravedadQuién queda expuesto
SSRF en la optimización de imágenes (CVE-2026-94483)AltaApps con images.remotePatterns configurado
Envenenamiento de caché SSG/ISR en Pages Router autoalojado (CVE-2026-94543)MediaAutoalojado; Vercel no se ve afectado
Envenenamiento de caché con página comodín en la raíz (CVE-2026-94484)MediaPáginas SSG/ISR con ruta comodín en la raíz
Fuga en rutas de imágenes de metadatos (CVE-2026-94485)MediaApp Router compilado con webpack; Turbopack no se ve afectado
Fuga entre valores de parámetros raíz en use cache anidado (GHSA-h694-7cp9-m8p3)MediaCon Cache Components
Contenido de Draft Mode filtrado desde use cache (CVE-2026-94544)MediaCon Cache Components y vistas previas en Draft Mode
Fuga en el endpoint MCP del servidor de desarrollo (CVE-2026-94486)BajaSolo con next dev

Quien esté en la 16.3.8 tiene las correcciones de septiembre pero no las de octubre, que solo se publicaron en la 16.4.1 y la 15.5.28.

Documentación: Next.js: versión de seguridad de septiembre de 2026 ↗

3. PgBouncer 1.26.1#

PgBouncer 1.26.1 se publicó el 14 de octubre de 2026 y corrige tres vulnerabilidades. La más seria es una omisión de autenticación: un cliente que conoce la contraseña de un usuario del archivo de autenticación puede iniciar sesión como otro usuario SCRAM, incluidos administradores. El registro de cambios no indica puntuación de gravedad.

CVETipoVersiones afectadasCondición
CVE-2026-107350Omisión de autenticación1.17.0 a 1.26.0Ambos usuarios usan SCRAM; el atacante conoce la contraseña de un usuario de auth_file
CVE-2026-107349Denegación de servicio1.20.0 a 1.26.0ignore_startup_parameters no vacío y sin options
CVE-2026-107348Denegación de servicio1.21.0 a 1.26.0max_packet_size de 2147483649 o más; el valor por defecto no se ve afectado

Si usas PgBouncer con SCRAM para varios usuarios, prioriza esta actualización. La versión 1.26.1 es la más reciente según el registro de cambios.

Documentación: PgBouncer: registro de cambios ↗ · PostgreSQL: noticias ↗

4. Verifica tus versiones#

El script compara una versión de Next.js con las versiones corregidas de los avisos y una de PgBouncer con los rangos afectados que publica su registro de cambios. Una línea de Next.js sin versión corregida en los avisos (por ejemplo la 16.2) se trata como «actualiza a la 16.4.1», porque los avisos no listan una versión corregida para ella.

python
import re

L = {"ok": "al día", "next": "actualiza a %s", "newer": "línea más nueva que las corregidas: revisa los 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"          # líneas sin versión corregida en los avisos

PGBOUNCER = {                            # CVE: (primera versión afectada, última afectada)
    "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 el estado de seis versiones de Next.js y de cuatro de PgBouncer. Las reglas salen de los avisos de arriba; no sustituye consultar los avisos completos.

5. Qué hacer hoy#

  • Revisa la versión de Next.js en cada proyecto con npm ls next y actualiza a la 16.4.1 o la 15.5.28.
  • Si no puedes actualizar de inmediato y usas next/image con SVG, fija sharp en 0.35.5 o superior.
  • Revisa si usas use cache (Cache Components) o Server Actions: son las superficies de los hallazgos más graves.
  • Actualiza PgBouncer a 1.26.1, sobre todo si autentica con SCRAM a varios usuarios.
  • Reconstruye y vuelve a desplegar: actualizar package.json no basta hasta que la imagen o el servidor use la nueva versión.
  • Anota en tu inventario qué proyectos quedaron parchados y la fecha.

Nosotros lo aplicamos en Codifly: el sitio estaba en la 16.2.12 y lo subimos a la 16.4.1 tras pasar las pruebas y la compilación.

Para profundizarPor qué tu build funciona en local pero falla en el deploy

6. Mantén tus cifras al día#

Las versiones y los identificadores son los de los avisos publicados hasta el 19 de octubre de 2026. Pueden aparecer nuevas correcciones; revisa los avisos oficiales de Next.js y PostgreSQL con regularidad.

  • Suscríbete a los avisos de seguridad de Next.js y de PgBouncer.
  • Automatiza una alerta cuando tu versión quede por debajo de la corregida.
  • Prueba en un entorno de pruebas antes de promover a producción.

Fuentes y alcance

Documentación consultada el 19 de octubre de 2026. Los ejemplos y criterios de decisión son propuestas editoriales; adáptalos al contrato de tu aplicación y valídalos en tu entorno de pruebas autorizado.

Compara estas opciones

Compara soluciones cloud

Revisa tarifas, límites, condiciones y fuentes de cada opción.

Abrir comparador
Asesoría

¿Tu caso es distinto?

Cuéntanos tu contexto y las opciones que estás evaluando. Te respondemos con criterios y fuentes, sin suscripciones automáticas.

Solicita asesoría