|

Next.js 16.3: la 16.3.7 no está parchada, la 16.3.8 sí

En pocas palabras: La versión parchada de Next.js 16.3 es la 16.3.8, publicada el 30 de septiembre de 2026 junto con la 15.5.27. La 16.3.7 no incluye los parches de seguridad: npm audit sigue marcando 6 advisories. Quedan dos fallas, una crítica y una alta, pendientes de corrección.

Las vulnerabilidades de Next.js 16.3 de agosto y septiembre de 2026 quedan corregidas en la 16.3.8, que el equipo de Next.js publicó el 30 de septiembre junto con la 15.5.27. La 16.3.7 no sirve para esto: salió un día antes y no trae parches de seguridad. Quedan dos fallas más sin parche publicado.

Next.js es un framework de React de Vercel para armar aplicaciones web con renderizado en servidor y generación estática. Las vulnerabilidades de la línea 16.3 son un conjunto de advisories publicados en GitHub entre el 25 de agosto y el 30 de septiembre de 2026, que incluyen ejecución remota de código (RCE), SSRF, envenenamiento de caché y filtración de información. Para quien sigue en 16.3, la versión que corrige todas las ya publicadas es la 16.3.8.

En 30 segundos

  • La 16.3.8 (30/09/2026) es la versión parchada de la línea 16.3. La 16.4.0 (06/10/2026) tampoco aparece marcada en npm audit.
  • La 16.3.7 no está parchada: npm audit marcó 6 advisories (1 high, 4 moderate, 1 low) al 08/10/2026.
  • Con “next”: “^16.3.0”, npm audit fix te sube a 16.4.0. Con el pin exacto “16.3.0” no hace nada.
  • next upgrade falla en Windows con spawn npx ENOENT. El workaround es correr el comando de npx a mano.
  • Hay dos issues (una crítica, una high) pendientes de coordinación upstream, sin parche.

¿Next.js 16.3.7 está parchada contra las vulnerabilidades de septiembre?

No. La 16.3.7 salió el 29 de septiembre con un arreglo de bug, y el anuncio oficial de Next.js aclara que no incluye los fixes de seguridad planeados para el 30. Esos llegaron en la 16.3.8 y la 15.5.27.

La confusión es lógica: 16.3.7 suena a “el último patch de septiembre”. No lo es.

Según la prueba publicada en dev.to, que corrió npm audit y next build sobre una app App Router chica en cada versión, el resultado fue este:

Versión de nextnpm audit (08/10/2026)next build
16.3.09 advisories: 3 critical, 1 high, 4 moderate, 1 lowPasa
16.3.76 advisories: 1 high, 4 moderate, 1 lowPasa
16.3.8Sin marcarPasa
16.4.0 (latest)Sin marcarPasa
next.js 16.3 vulnerabilidades diagrama explicativo

Tomalo con pinzas: es la medición de un solo autor (que además aclara que escribió con asistencia de IA), con npm 11.9.0 y Node 24.14.0 en Windows 11. Los conteos son los de npm en esa fecha y cambian cuando se publican advisories nuevos. Nosotros no repetimos la prueba.

¿Qué vulnerabilidades de Next.js 16.3 corrigió cada release desde agosto?

Tres releases concentran los arreglos: el del 25 de agosto (dos RCE críticas), el del 22 de septiembre (otra RCE crítica) y el del 30 de septiembre (siete fallas de severidad menor). Según la página de advisories de vercel/next.js, así quedó el mapa:

FechaParcheada enQué corrige
25/08/202616.3.3 y 15.5.24Dos RCE críticas sin autenticación: Image Optimization API con archivos AVIF (GHSA-2xp9-vwfh-vxw4) y servidores alojados en Windows (GHSA-p293-qw3h-jr36)
22/09/202616.3.6 y 15.5.26RCE crítica en ImageResponse de next/og (GHSA-vcvr-r3jv-pc5j)
30/09/202616.3.8 y 15.5.27Siete fallas: SSRF high en Image Optimization (GHSA-cjq9-62q9-8jv4), cinco medium (cache poisoning de SSG/ISR, fugas de use cache, divulgación en rutas de imagen de metadata) y una low (endpoint MCP del servidor de desarrollo)

Los datos de 15.x salen de los advisories, no de la prueba. Un detalle que no cierra: entre las tres críticas y las siete de septiembre sumás 10, pero npm audit contó 9 en la 16.3.0 y 6 en la 16.3.7, o sea una moderate menos. Las fuentes no explican la diferencia, así que no te lo puedo aclarar. Cubrimos ese tema en detalle en desplegar una app React con Vite.

Además, no todo te pega igual. Netlify detalla que el SSRF de imágenes afecta a 16.x con un host remoto controlado por un atacante en images.remotePatterns, que la fuga de metadata solo toca builds con Webpack (Turbopack no) y que el problema del endpoint MCP es solo de next dev. Mirá tu config antes de entrar en pánico, pero actualizá igual.

¿Cómo actualizar a Next.js 16.3.8 o 16.4.0?

Para quedarte en la línea 16.3, instalá la 16.3.8 con npm i [email protected]. Para pasar a la última, usá npm i next@latest, que da la 16.4.0 (salió el 6 de octubre). En la app de prueba ambos builds pasaron sin warnings nuevos.

npm i [email protected]
npm i next@latest

En la prueba, npm i [email protected] resolvió a 16.3.8. Yo prefiero escribir la versión completa: si mañana sale una 16.3.9, preferís enterarte vos y no que te llegue de rebote. Y ojo, npm guarda por defecto con prefijo ^; si querés conservar un pin exacto, agregá --save-exact.

El único warning que apareció en todas las versiones (también en la 16.3.0) es que la convención de archivo “middleware” está deprecada a favor de “proxy”. No lo trajo el upgrade.

Sobre la 16.4.0, las release notes que cita la fuente dicen que next dev y next build avisan cuando tu versión tiene issues de seguridad conocidos, que next upgrade --ai suma cobertura de vulnerabilidades y que el Pages Router depreca el soporte de React 18. El autor de la prueba no probó los avisos ni el modo AI. Si estás en Pages Router con React 18, leé esas notas antes de saltar.

Los límites: una sola app, solo la línea 16.x, build con Turbopack, sin Pages Router, sin servidor custom y sin probar las explotaciones. Relacionado: publicar tu web gratis en Vercel.

Propuesta editorial para verificar (no sale de la fuente): después de actualizar, corré npm ls next para confirmar qué versión quedó realmente en el lockfile (en monorepos puede haber más de una) y npm audit. Después cruzá el resultado con la lista de advisories oficial, porque npm solo conoce lo que ya se publicó.

¿Por qué npm audit fix no soluciona Next.js o salta a 16.4.0?

Depende de cómo esté escrito next en tu package.json. Con rango caret, npm audit fix te sube a 16.4.0 (un minor nuevo). Con versión exacta no hace nada. Esto reportó la misma prueba de dev.to:

package.jsonResultado
“next”: “^16.3.0”npm audit fix instala 16.4.0, no el patch de 16.3. El package.json queda igual
“next”: “16.3.0” (exacto)No hace nada y sugiere npm audit fix –force
Exacto + npm audit fix –forceInstala 16.4.0 y reescribe el pin a ^16.4.0
“^16.3.0” + npm update nextTambién va a 16.4.0

El pin exacto no es raro: [email protected] escribe "next": "16.3.0" así. Entonces creás el proyecto, un día corrés npm audit, te tira la lista de advisories, probás npm audit fix, no pasa nada, agregás –force porque te lo sugiere la terminal y terminás en una versión minor distinta con el pin borrado, todo sin que nadie te pregunte si lo querías.

Mi lectura: el “arreglo” automático es cómodo, pero acá toma una decisión de versión por vos. Instalá la versión explícita y revisá el diff.

¿Qué hago si next upgrade falla en Windows con spawn npx ENOENT?

Corré directamente el comando que next upgrade intenta lanzar: npx --yes @next/codemod@canary upgrade 16.3.8. En la prueba funcionó en Windows, mantuvo el pin exacto y npm reportó found 0 vulnerabilities. Complementá con comparamos Vercel con AWS Amplify.

$ npx next upgrade --revision 16.3.8
Error: spawn npx ENOENT

npx --yes @next/codemod@canary upgrade 16.3.8

El error se reprodujo en PowerShell y en Git Bash, en 16.3.0 y también en 16.4.0. Está reportado en vercel/next.js#97980 y el fix (#98075) seguía sin mergear cuando se probó. Puede haber cambiado desde entonces: mirá el estado del issue antes de asumir que sigue roto.

¿Quedan vulnerabilidades de Next.js 16.3 sin parche?

Sí. El aviso del 30 de septiembre redujo el release de nueve a siete vulnerabilidades, y las otras dos (una crítica y una high) quedaron “pending upstream coordination” para un release posterior, según el blog oficial de Next.js.

Separemos lo que se sabe de lo que no:

  • Confirmado: las siete fallas del 30/09 están corregidas en 16.3.8 y 15.5.27, y Netlify lo repite en su changelog.
  • Confirmado: hay dos issues pendientes, una crítica y una high, sin fecha publicada.
  • No confirmado: qué son esas dos fallas, cuándo sale el parche y si la 16.4.0 las toca. Las fuentes no lo dicen.
  • No probado: los avisos de next dev y next build de la 16.4.0 (solo constan en sus release notes).

La consecuencia práctica es que un npm audit limpio no garantiza ausencia de riesgo, porque solo marca lo publicado. Yo seguiría la página de advisories oficial y dejaría el update de Next.js como tarea recurrente, no como algo que se hace una vez.

¿Qué cambia si hospedás Next.js en Netlify o en tu propio servidor?

Con Netlify, además de subir next a 15.5.27 o 16.3.8, tenés que usar el adaptador @netlify/plugin-nextjs 5.16.1. Se instala solo con un redeploy, salvo que lo hayas pinneado a mano. Según el mismo changelog, los deploy previews y branch deploys públicos pueden seguir vulnerables hasta que se borren, así que conviene eliminarlos.

Si corrés Next.js en un VPS o servidor propio (por ejemplo, uno contratado en donweb.com), la dependencia es tuya: el proveedor de infraestructura no toca tu package.json. Y hay un advisory específico sobre cache poisoning de páginas SSG e ISR en aplicaciones self-hosted.

Errores comunes al parchar Next.js 16.3

  • Creer que 16.3.7 es el parche de septiembre. Es un bug-fix. Subí a 16.3.8.
  • Correr npm audit fix sin mirar el diff. Con caret te lleva a 16.4.0 sin avisar; revisá package.json y el lockfile.
  • Usar –force “para que ande”. Con pin exacto instala 16.4.0 y reescribe la versión a ^16.4.0. Si querías 16.3, instalá la 16.3.8 a mano.
  • Dar el tema por cerrado con un audit limpio. Hay dos issues sin parche público.
  • Actualizar solo next en Netlify. Falta el adaptador 5.16.1, y sin él las páginas prerenderizadas pueden volver a renderizarse, según Netlify (un problema de performance, no de seguridad).

Preguntas Frecuentes

¿Qué versión de Next.js 16.3 tiene los parches de seguridad?

La 16.3.8, publicada el 30 de septiembre de 2026, junto con la 15.5.27 para la línea 15. Incluye los arreglos de agosto y septiembre, y npm audit no la marcó al 8 de octubre de 2026.

¿Next.js 16.3.7 está parchada?

No. La 16.3.7 salió el 29 de septiembre solo con un arreglo de bug y no incluye los fixes de seguridad del 30. npm audit todavía marcó 6 advisories en esa versión. Sobre eso hablamos en cuánto cuesta realmente hospedar Next.js.

¿Cómo actualizo Next.js a 16.3.8 sin saltar a 16.4?

Instalá la versión exacta con npm i [email protected]. Evitá npm audit fix y npm update next si tenés un rango con caret, porque en la prueba ambos fueron a 16.4.0.

¿Por qué npm audit fix no me arregla las vulnerabilidades de Next.js?

Si tenés un pin exacto como “16.3.0”, npm audit fix no cambia nada y pide –force. Con –force instala 16.4.0 y reescribe el pin a ^16.4.0.

¿Por qué falla next upgrade en Windows con spawn npx ENOENT?

Es un bug reportado en vercel/next.js#97980 que se reprodujo en 16.3.0 y 16.4.0. Corré npx --yes @next/codemod@canary upgrade 16.3.8 para saltearlo.

Conclusión

Si estás en 16.3, la versión a instalar es la 16.3.8; si podés pasar a 16.4.0, el build de la app de prueba también pasó. La 16.3.7 es la trampa: parece más nueva y sigue con 6 advisories en npm audit. Tampoco confíes en npm audit fix, que según la prueba te mueve a un minor nuevo o no hace nada.

Qué hacer hoy: instalá la versión explícita, corré npm ls next y npm audit, y revisá la lista oficial de advisories. Las dos fallas pendientes (una crítica, una high) significan que este no es el último parche que vas a necesitar.

Fuentes

Te puede interesar...