website security

Actualización crítica de seguridad de Next.js: revise su sitio y corríjalo

Corregido en Next.js 15.5.28 y 16.4.1, publicado el 14 de octubre de 2026. Revise sus versiones y si usa Image Optimization, y luego pregunte a su desarrollador.

Si su sitio web funciona con Next.js y no se ha actualizado desde el 14 de octubre de 2026, actualícelo ahora. Ese día Next.js publicó la corrección de una falla crítica en su función Image Optimization (optimización de imágenes). Las versiones corregidas son 15.5.28 y 16.4.1, así que esta actualización de seguridad de Next.js lleva disponible más de una semana.

La base de datos global de avisos de seguridad de GitHub agregó el aviso el 22 de octubre de 2026, que es cuando salieron las alertas más amplias. El aviso es GHSA-2464-fhr4-w9xw (CVE-2026-96889), con calificación crítica (Critical). Aplica a una configuración específica, no a todos los sitios de Next.js.

No necesita leer código para saber en qué situación está. Unas pocas revisiones le dan su versión y la ruta de sus imágenes, y un mensaje corto logra que la persona que construyó o aloja el sitio responda el resto.

Puntos clave

Versiones corregidas

Next.js 15.5.28 y 16.4.1 traen la corrección, publicada el 14 de octubre de 2026 y agregada a la base de datos global de avisos de GitHub el 22 de octubre de 2026.

La condición

El aviso se refiere a Image Optimization cuando procesa archivos SVG en Linux basado en glibc, en Next.js desde 10.0.0 hasta 15.5.27 y desde 16.0.0 hasta 16.4.0.

Cuatro respuestas por reunir

La versión de Next.js desplegada, la versión de sharp desplegada, si el sitio sirve Image Optimization con SVG en Linux con glibc, y si una compilación corregida está en vivo.

Las versiones anteriores no tienen parche

Next.js 14 y anteriores no tienen una versión corregida indicada, así que la ruta es sharp 0.35.5 o posterior, o desactivar la optimización de imágenes, y luego una actualización planificada.

Los pasos provisionales son un puente

Forzar sharp, bloquear SVG o desactivar la optimización reducen la exposición, y actualizar Next.js y volver a desplegar es la solución completa.

Actualice a 15.5.28 o 16.4.1 y se cierra la brecha

Vercel publicó el aviso en el proyecto de Next.js el 14 de octubre de 2026, junto con su publicación de actualización de seguridad. El aviso en sí describe una falla en Image Optimization cuando se procesan archivos SVG. Next.js dice que la falla de memoria de origen (upstream) puede llevar a la ejecución remota de código cuando Next.js corre en Linux basado en glibc.

La falla está en una capa anterior, en una biblioteca llamada librsvg que sharp y libvips usan para leer archivos SVG. No es un error en las páginas de su sitio ni en la lógica de su negocio. El aviso del mantenedor de sharp indica que las versiones de sharp anteriores a 0.35.5 están afectadas y que 0.35.5 incluye librsvg 2.63.2, y la página de seguridad de librsvg de GNOME enumera las versiones corregidas de librsvg. El registro CVE tiene el mismo identificador.

Esta tabla muestra en qué línea está y qué hacer al respecto.

Versiones de Next.js y qué hacer con cada una
Su versión de Next.jsEstado en el avisoQué hacer
16.4.1CorregidaConfirme que es la versión realmente desplegada
16.0.0 hasta 16.4.0AfectadaEjecute npm install next@16.4.1, luego reconstruya, pruebe y vuelva a desplegar
15.5.28CorregidaConfirme que es la versión realmente desplegada
15.0.0 hasta 15.5.27AfectadaEjecute npm install next@15.5.28, luego reconstruya, pruebe y vuelva a desplegar
14 y anteriores, hasta 10.0.0Afectada, sin versión corregida indicadaUse la solución alternativa con sharp 0.35.5 o desactive la optimización de imágenes, y luego planifique una actualización
Su versión de Next.js16.4.1
Estado en el avisoCorregida
Qué hacerConfirme que es la versión realmente desplegada
Su versión de Next.js16.0.0 hasta 16.4.0
Estado en el avisoAfectada
Qué hacerEjecute npm install next@16.4.1, luego reconstruya, pruebe y vuelva a desplegar
Su versión de Next.js15.5.28
Estado en el avisoCorregida
Qué hacerConfirme que es la versión realmente desplegada
Su versión de Next.js15.0.0 hasta 15.5.27
Estado en el avisoAfectada
Qué hacerEjecute npm install next@15.5.28, luego reconstruya, pruebe y vuelva a desplegar
Su versión de Next.js14 y anteriores, hasta 10.0.0
Estado en el avisoAfectada, sin versión corregida indicada
Qué hacerUse la solución alternativa con sharp 0.35.5 o desactive la optimización de imágenes, y luego planifique una actualización

Un parche solo cuenta cuando la nueva compilación está en vivo. Un desarrollador que actualiza el código pero no reconstruye ni vuelve a desplegar no ha corregido nada para sus visitantes, así que pida confirmación de que el sitio desplegado cambió.

Una computadora portátil cerrada junto a un bloc de notas en blanco y un lápiz sobre un escritorio de madera liso.
La corrección está disponible desde el 14 de octubre, así que la pregunta abierta es si su sitio en vivo la tiene.

Averigüe si su configuración está dentro de las condiciones del aviso

El aviso es más estrecho de lo que dicen los titulares. Se refiere a Image Optimization de Next.js cuando corre en Linux basado en glibc y procesa archivos SVG. Glibc es una biblioteca de C común en Linux, mientras que Alpine y otros entornos basados en musl usan una distinta. El host o el desarrollador pueden decirle cuál usa su servidor.

Algunas configuraciones podrían quedar fuera de esas condiciones. Eso describe las condiciones del aviso, no una promesa sobre su sitio, así que su desarrollador debe confirmarlo de todos modos. La documentación de imágenes de Next.js y la referencia de configuración de imágenes describen los ajustes involucrados.

Configuraciones y su posición frente a las condiciones del aviso
Configuración¿Dentro de las condiciones del aviso?
Servidor autoalojado (next start, un servidor Node o Docker) en Linux con glibc que usa el optimizador de imágenes integradoSí, esta es la ruta que describe el aviso
Exportación estática sin servidor de imágenesPodría quedar fuera, ya que no hay un endpoint de Image Optimization
images.unoptimized activadoPodría quedar fuera de la condición de Image Optimization
Cargador de imágenes personalizadoPodría quedar fuera de la condición de Image Optimization
Alpine u otro entorno basado en muslFuera de la condición de glibc, solo para este aviso
NetlifyLa guía de configuración de Netlify dice que next/image usa Netlify Image CDN
VercelPida a Vercel que confirme la ruta de imágenes de su proyecto
ConfiguraciónServidor autoalojado (next start, un servidor Node o Docker) en Linux con glibc que usa el optimizador de imágenes integrado
¿Dentro de las condiciones del aviso?Sí, esta es la ruta que describe el aviso
ConfiguraciónExportación estática sin servidor de imágenes
¿Dentro de las condiciones del aviso?Podría quedar fuera, ya que no hay un endpoint de Image Optimization
Configuraciónimages.unoptimized activado
¿Dentro de las condiciones del aviso?Podría quedar fuera de la condición de Image Optimization
ConfiguraciónCargador de imágenes personalizado
¿Dentro de las condiciones del aviso?Podría quedar fuera de la condición de Image Optimization
ConfiguraciónAlpine u otro entorno basado en musl
¿Dentro de las condiciones del aviso?Fuera de la condición de glibc, solo para este aviso
ConfiguraciónNetlify
¿Dentro de las condiciones del aviso?La guía de configuración de Netlify dice que next/image usa Netlify Image CDN
ConfiguraciónVercel
¿Dentro de las condiciones del aviso?Pida a Vercel que confirme la ruta de imágenes de su proyecto

Al 22 de octubre de 2026, la guía de configuración de Next.js de Netlify dice que el componente next/image usa Netlify Image CDN. Si su sitio está en Vercel, pida a Vercel que confirme cómo maneja las imágenes su proyecto específico; Vercel publica sus avisos en su boletín de seguridad. Cualquier otro host debe responder la misma pregunta por escrito.

Un sitio que está fuera de este aviso no es automáticamente seguro, y un solo ajuste no resuelve todas las dudas. La optimización de imágenes puede estar apagada en un lugar mientras otra ruta de procesamiento de imágenes sigue activa, así que la respuesta escrita de su desarrollador importa más que una suposición.

Haga cinco revisiones para nombrar sus versiones y su ruta de imágenes

Revise el proyecto desplegado, no solo la página pública. El código fuente de la página no puede decirle de forma confiable qué versión está corriendo, y una versión indicada en el archivo de paquetes del proyecto puede ser un rango y no la que está instalada. Si tiene acceso a la carpeta del proyecto, o si su desarrollador puede compartirla, los pasos toman unos diez minutos.

  • Ejecute npm ls next sharp: En la carpeta de la aplicación, esto muestra las versiones instaladas de Next.js y sharp.
  • Lea el archivo de bloqueo: Revise package-lock.json, pnpm-lock.yaml, yarn.lock o bun.lock para ver las versiones resueltas, porque el archivo de paquetes puede contener un rango.
  • Abra next.config: En next.config.js, next.config.mjs o next.config.ts, busque output: 'export', images.unoptimized, un images.loader personalizado o loaderFile.
  • Observe las solicitudes de imágenes: En la pestaña Red (Network) del navegador, busque direcciones que empiecen con /_next/image, y luego pregunte si la aplicación o el servicio de imágenes del host las responde.
  • Confirme la compilación en vivo: Pregunte cuándo se reconstruyó y volvió a desplegar el sitio por última vez, ya que la versión corregida solo lo protege una vez que está en vivo.

Un archivo de bloqueo puede conservar una versión más antigua de sharp después de actualizar Next.js, por eso la versión de sharp tiene su propia revisión. Cuando pueda responder las preguntas de versión y decir qué servicio responde las solicitudes de imágenes, podrá leer la tabla de arriba para su caso.

Una ordenada fila de carpetas de argollas cerradas en un estante sobre un bloc de notas en blanco y un lápiz.
La versión resuelta en el archivo de bloqueo es la que cuenta.

Envíe un mensaje y obtenga sus respuestas por escrito

La ruta más rápida y gratuita es una pregunta escrita a la persona que construyó el sitio o administra su hosting. Copie este mensaje a su desarrollador palabra por palabra:

> Por favor, confirme la versión de Next.js desplegada, la versión de sharp, el sistema operativo del entorno de ejecución y libc, si /_next/image la sirve la aplicación, y si el sitio usa SVG mediante Image Optimization. Si aplica, por favor actualice a Next.js 15.5.28 o 16.4.1, o a sharp 0.35.5 o posterior, y luego reconstruya, pruebe y vuelva a desplegar.

Si su sitio está en hosting administrado, envíe al host una pregunta más corta: ¿su servicio de optimización de imágenes procesa las imágenes de este sitio por la ruta sharp y librsvg descrita en GHSA-2464-fhr4-w9xw, y qué mitigación o componente corregido aplica a este proyecto? Su proveedor de hosting web es a quien debe preguntar por el entorno de ejecución y la ruta de imágenes.

Si no sabe quién es responsable de cada respuesta, cómo elegir hosting web para una pequeña empresa cubre qué preguntarle a un host. Una falla de PHP corregida el 21 de octubre es una actualización distinta del lado del host, y la actualización de seguridad de PHP la explica si su sitio también usa PHP.

Una pequeña pila de fichas en blanco y un cuaderno cerrado sobre una superficie de escritorio limpia.
Cuatro respuestas por escrito valen más que un «creemos que está bien» dicho de palabra.

Manténgase cubierto en Next.js 14 o anterior mientras planifica la actualización

El rango afectado empieza en 10.0.0, así que Next.js 14 y anteriores quedan dentro, y no hay una versión corregida indicada para esas líneas. La actualización de Next.js existe solo para 15.5.28 y 16.4.1. Para una línea anterior, la ruta es forzar sharp a 0.35.5 o posterior, o desactivar la optimización de imágenes, y luego planificar una actualización.

Una actualización de versión mayor puede requerir pruebas de regresión de compatibilidad con Node, comportamiento de imágenes, middleware, manejo de rutas y salida de compilación. Esa es la razón para planificarla en lugar de apresurarla el día que llega una alerta. Pida a su desarrollador una fecha y una copia de prueba del sitio, y mantenga el paso provisional hasta que la actualización esté en vivo.

Use pasos provisionales para reducir la exposición, y trátelos como un puente

Cuando Next.js no se puede actualizar hoy, algunos pasos reducen la exposición. Ninguno es una solución completa, y cada uno pertenece a una lista corta que su desarrollador puede seguir.

  • Fuerce sharp a 0.35.5 o posterior: Esta es la solución alternativa indicada en el aviso y trae librsvg 2.63.2.
  • Bloquee la decodificación de SVG en sharp: El aviso de sharp documenta sharp.block con la operación VipsForeignLoadSvg, donde la aplicación controla sharp directamente.
  • Desactive la optimización integrada: Configurar images.unoptimized quita esa ruta del sitio.
  • Use un cargador de imágenes personalizado: Un cargador envía el manejo de imágenes a otro lugar distinto del optimizador integrado.
  • Deje de aceptar SVG por la ruta de imágenes: La validación o la configuración de imágenes que rechaza SVG reduce la exposición.

Un firewall de aplicaciones web puede bloquear patrones de solicitud conocidos, pero no es una solución completa, así que la actualización sigue en la lista. La solución alternativa de sharp cubre solo este problema de la biblioteca de imágenes, no otros avisos de Next.js de octubre de 2026, y la guía de install-sharp es donde Next.js explica cómo usa la biblioteca.

Todos estos pasos compran tiempo. Actualizar Next.js y volver a desplegar el sitio reconstruido es la solución que elimina la pregunta, y es la que debe programar. Si cree que la falla pudo haberse usado contra su sitio, qué hacer en las primeras 24 horas después de un hackeo es el lugar para empezar.

Un llavero de repuesto y un pequeño candado junto a un bloc de notas en blanco sobre un escritorio gastado.
Los pasos provisionales sostienen la puerta mientras la actualización se prueba.

Pague por ayuda solo cuando se acaben las respuestas gratuitas

La ruta gratuita va primero. Su desarrollador o host puede responder las preguntas de arriba por escrito, y un parche con su reconstrucción y su nuevo despliegue es mantenimiento rutinario. Una respuesta que diga que el sitio está fuera de las condiciones del aviso, o que ya está corregido, cierra el asunto sin costo.

Una auditoría pagada se justifica en tres casos:

  • Nadie puede nombrar la versión desplegada ni la ruta de imágenes: La respuesta tiene que venir de inspeccionar el sitio en funcionamiento.
  • Existe más de una ruta de imágenes: La optimización puede estar apagada en un lugar mientras otra ruta sigue activa.
  • El desarrollador no está disponible y la actualización necesita pruebas: Alguien tiene que corregir, probar y volver a desplegar antes de una fecha límite.

Si el entorno de ejecución o la ruta de imágenes es lo que se desconoce, una auditoría de seguridad de sitios web lee el despliegue y le dice cuáles de las cuatro respuestas tiene. Cuando las respuestas son conocidas y el sitio solo necesita el parche, no necesita una auditoría.

Repaso rápido: su conocimiento sobre la actualización de seguridad de Next.js

Elija una respuesta para empezar.

1. ¿Qué versiones de Next.js traen la corrección de GHSA-2464-fhr4-w9xw?

2. ¿Qué configuración podría quedar fuera de las condiciones indicadas en el aviso?

3. Su sitio usa Next.js 14 y no hay una versión corregida indicada. ¿Cuál es la ruta?

Preguntas frecuentes sobre la actualización de seguridad de Next.js

¿Todos los sitios de Next.js están afectados?

No. El aviso se refiere a Image Optimization que procesa archivos SVG en Linux basado en glibc, en Next.js desde 10.0.0 hasta 15.5.27 y desde 16.0.0 hasta 16.4.0. Su desarrollador confirma si su configuración cumple esas condiciones.

¿Qué versiones están corregidas?

Next.js 15.5.28 y 16.4.1. Next.js las publicó el 14 de octubre de 2026.

¿Esta es una vulnerabilidad de sharp?

El componente vulnerable es librsvg, que usan sharp y libvips. Sharp 0.35.5 o posterior incluye librsvg 2.63.2 y es la solución alternativa del aviso.

¿Una exportación estática está afectada?

Una exportación estática sin un endpoint de optimización de imágenes del lado del servidor podría quedar fuera de la condición de Image Optimization indicada en el aviso. Eso es una condición del aviso, así que pida a su desarrollador que lo confirme para su sitio.

¿images.unoptimized importa?

Desactiva la ruta de optimización integrada de Next.js. Aun así, su desarrollador debe revisar el despliegue por si existe otra ruta de procesamiento de imágenes.

¿Qué debo preguntarle a mi desarrollador?

Pida las versiones desplegadas de Next.js y sharp, el sistema operativo y libc del entorno de ejecución, si /_next/image la sirve la aplicación, si SVG pasa por Image Optimization, y la confirmación de que una compilación corregida está en vivo.

Reflexiones finales

La corrección está disponible desde el 14 de octubre de 2026, y el aviso llegó a las listas de alertas más amplias el 22 de octubre. Next.js 15.5.28 y 16.4.1 son las versiones corregidas, la condición es Image Optimization procesando SVG en Linux con glibc, y sharp 0.35.5 o posterior es la solución alternativa. Cuatro respuestas resuelven su caso: la versión de Next.js desplegada, la versión de sharp desplegada, si el sitio sirve Image Optimization con SVG en Linux con glibc, y si una compilación corregida está en vivo.

Cuando tenga esas cuatro respuestas, la pregunta deja de preocupar y pasa a ser una línea en su registro de mantenimiento. Un sitio estático de Next.js con la optimización de imágenes desactivada, tal como están configurados nuestros proyectos de diseño web, no tiene un servidor de imágenes al que pueda llegar esta falla. Eso es un hecho sobre esa configuración, y es la razón por la que vale la pena conocer las revisiones de versión y las fechas de parches en cualquier sitio que usted tenga.

Si nadie puede darle las versiones o la ruta de imágenes, Web Leveling puede revisar la configuración y luego corregir, reconstruir y volver a desplegarla a través de nuestro servicio de mantenimiento web. Trabajamos con pequeñas y medianas empresas en todo el país y en el extranjero. Envíenos la respuesta de su desarrollador o sus preguntas abiertas, y le diremos cuál de las cuatro respuestas aún falta.

Términos

Términos de esta actualización de seguridad de Next.js

Toque un término para ver qué significa.

Image Optimization. La función de Next.js que redimensiona y convierte imágenes en un servidor antes de enviarlas a los visitantes.

sharp. Una biblioteca de imágenes de Node.js que Next.js usa para Image Optimization.

librsvg. La biblioteca de origen que lee archivos SVG, usada por sharp y libvips, donde está la falla.

glibc. Una biblioteca de C común en Linux; Alpine y otros entornos basados en musl usan una distinta.

Archivo de bloqueo (lockfile). Un archivo que registra las versiones exactas de los paquetes instalados, como package-lock.json.

Exportación estática. Una compilación de Next.js que produce archivos planos, sin ningún servidor que ejecute la optimización de imágenes.