Una nueva vulnerabilidad de seguridad en Next.js podría permitir a los atacantes ejecutar código en un servidor a través de ImageResponse, la característica que genera imágenes de Open Graph y otras vistas previas para redes sociales, según Vercel. El riesgo se presenta cuando una aplicación inserta valores controlados por el atacante, como texto leído de la URL de la solicitud, en la imagen. Vercel, desarrollador de Next.js, corrigió el fallo el 22 de septiembre en la versión 16.3.6.
Detalles de la vulnerabilidad
La falla, rastreada como CVE-2026-94545, afecta a Next.js 16.2.0 hasta 16.3.5 cuando ImageResponse se ejecuta en el runtime de Node.js, que Next.js usa por defecto. El aviso de Vercel la califica como crítica, con una puntuación CVSS de 9.5. La versión Edge de ImageResponse no se ve afectada, y tampoco Next.js 15.
ImageResponse utiliza Satori, una biblioteca de Vercel, para convertir el diseño de la imagen en código SVG antes de generar el PNG final. Las aplicaciones afectadas son aquellas que 'pasan valores controlados por el atacante al contenido, atributos o estilos SVG durante la generación de la imagen', según el aviso. El ejemplo del aviso toma un valor de la URL de la solicitud y lo coloca dentro de un elemento title de SVG. No se especifica si el texto en elementos ordinarios, como un encabezado dentro de un div, también cuenta.
Cómo identificar y mitigar
Para encontrar dónde una aplicación usa la característica, busque ImageResponse importado desde next/og, por ejemplo en route handlers y en archivos opengraph-image. Los route handlers generan la imagen cuando llega una solicitud. Un archivo opengraph-image puede generarla en tiempo de compilación o cuando llega una solicitud. Hasta el 23 de septiembre, The Hacker News no encontró informes públicos de ataques que explotaran la falla ni código de exploit público.
La solución es Next.js 16.3.6, la única versión parcheada, que se instala con npm install next@16.3.6. Hasta el 23 de septiembre, el registro npm no listaba ninguna versión corregida para la línea 16.2, por lo que las aplicaciones en 16.2 deben pasar a 16.3.6. Next.js 15.5.26 añade un endurecimiento de seguridad adicional para next/og en la línea 15.5.
Si la actualización debe esperar, la solución alternativa del aviso es mantener los valores controlados por el atacante fuera del contenido, atributos y estilos SVG que renderiza ImageResponse en Node.js. El aviso no sugiere cambiar a la versión Edge no afectada, y la documentación de Next.js marca el runtime Edge como obsoleto.
En verificaciones realizadas por The Hacker News el 23 de septiembre, npm audit no marcó Next.js 16.3.5, una versión afectada. El aviso tampoco estaba listado aún en la Base de Datos de Avisos de GitHub, y no se había publicado ningún registro CVE para CVE-2026-94545.
Impacto y estado de la solución
Verifique la versión de Next.js directamente. Satori está incluido dentro del paquete de Next.js, por lo que un lockfile no lo lista como dependencia de Next.js. El aviso y el anuncio de Vercel no indican si las aplicaciones alojadas en Vercel están protegidas. Para dos fallos críticos de Next.js corregidos en agosto, la compañía dijo que las aplicaciones alojadas estaban protegidas y no necesitaban actualización.
El aviso y el anuncio de Vercel tampoco proporcionan una forma de comprobar si una ruta afectada fue abusada antes del parche. Las versiones afectadas han estado disponibles desde que se lanzó Next.js 16.2 el 18 de marzo.
El error en sí está en Satori. El aviso propio de Satori, publicado el mismo día, dice que ciertos valores llegaron a su salida SVG sin el escape adecuado. Un valor especialmente diseñado podría entonces leerse como código SVG en lugar de texto plano. En Next.js, tales valores podrían alcanzar vulnerabilidades en otras bibliotecas de las que depende Next.js y provocar ejecución de código, según Vercel. No ha nombrado esas bibliotecas.
El aviso de Satori califica el mismo CVE como moderado, con una puntuación de 5.3, y afirma que el impacto depende de cómo se utilice la salida SVG. Los desarrolladores que usan Satori directamente deben actualizarlo a la versión 0.33.5, que contiene la corrección.



















Deja una respuesta