Next.js corrige vulnerabilidades críticas de AVIF y Windows que permitían ejecución remota de código no autenticada

Vercel ha lanzado parches de seguridad para dos vulnerabilidades de severidad crítica en el framework web Next.js. Ambas permiten ejecución remota de código no autenticada: una explotable mediante archivos de imagen AVIF especialmente diseñados y la otra a través de una falla de path traversal que afecta a servidores que utilizan sistema de archivos Windows.

Vulnerabilidad de path traversal en Windows

La falla de path traversal en Windows, registrada como CVE-2026-75604 con una puntuación CVSS de 9.0, afecta a aplicaciones Next.js que utilizan tanto Pages Router como App Router sin Cache Components cuando el servidor opera en un sistema de archivos Windows. Las implementaciones en Linux y macOS no se ven afectadas.

No hay workaround conocido para aplicaciones alojadas en Windows. Debe actualizar inmediatamente si su servidor está alojado en Windows, advirtió Vercel en su aviso.

Los parches están disponibles en Next.js 15.5.24 (Mantenimiento LTS) y 16.3.3 (LTS Activo), publicados el 25 de agosto de 2026. Los usuarios afectados pueden actualizar ejecutando npm install next@15.5.24 para la línea 15.5 o npm install next@16.3.3 para la línea 16.3. Las aplicaciones alojadas en Vercel están protegidas de ambas vulnerabilidades y no requieren actualización, según indicó la compañía en su registro de cambios.

La vulnerabilidad afecta a las versiones de Next.js desde la 13.4 hasta la 15.5.23 y desde la 16.0 hasta la 16.3.2. El mecanismo del ataque no fue revelado en el aviso, y Vercel en su registro de cambios atribuyó la divulgación responsable de la vulnerabilidad de Windows a los investigadores evolutionstorm y B0RI.

Falla en la optimización de imágenes AVIF

Next.js utiliza el paquete de procesamiento de imágenes sharp para optimizar imágenes, y sharp depende de la biblioteca C libheif para analizar archivos AVIF. Un desbordamiento de búfer en el heap crítico en libheif puede llevar a ejecución remota de código cuando Next.js procesa una imagen AVIF controlada por el atacante (GHSA-2xp9-vwfh-vxw4, CVSS v4: 9.5).

La vulnerabilidad subyacente, divulgada por los mantenedores de libheif como GHSA-g89c-p67h-r497, implica un desbordamiento de búfer en el heap en el código de escalado de imágenes de la biblioteca. Todas las versiones de libheif hasta la v1.23.1 están afectadas. El aviso de AVIF cubre las versiones de Next.js desde la 10.0.0 hasta la 15.5.23 y todas las versiones 16.x hasta la 16.3.2.

Un archivo AVIF especialmente diseñado que contiene referencias anidadas de derivación de identidad y elementos auxiliares provoca que libheif construya una imagen decodificada con dos entradas de plano Alfa en diferentes profundidades de bits. El escalador asigna un búfer de destino dimensionado para la primera entrada Alfa de 8 bits, pero luego escribe valores de muestra de 16 bits de la segunda entrada en ese mismo búfer, sobrescribiendo aproximadamente 16,384 bytes más allá del límite de asignación.

Los investigadores acreditados en el aviso, rootxharsh como Finder y KarimPwnz como Coordinador, publicaron un proof-of-concept completo en Python junto con la divulgación de libheif que reproduce la corrupción del heap bajo una compilación con address sanitizer. El aviso de libheif atribuyó la divulgación a rootxharsh y KarimPwnz, pero el registro de cambios de Vercel atribuyó la divulgación al equipo Hacktron.

Pudimos obtener RCE usando esto en múltiples aplicaciones, dijeron los investigadores en el aviso de libheif.

El proof-of-concept demuestra la escritura fuera de límites, pero la afirmación de los investigadores sobre ejecución remota de código en múltiples aplicaciones no ha sido corroborada de forma independiente. Next.js activa la optimización AVIF solo cuando un sitio agrega explícitamente image/avif a la configuración formats en next.config.js. Las implementaciones sin esa configuración no están expuestas a esta falla.

Las versiones parcheadas de Next.js desactivan la optimización AVIF por completo hasta que la corrección upstream se propague desde libheif. The Hacker News confirmó el 27 de agosto de 2026, a través de la página de releases de libheif en GitHub, que la v1.23.2 no había sido publicada.

Vercel había programado los parches de agosto para el 26 de agosto como parte de su cadencia mensual de seguridad, pero adelantó la publicación un día después de descubrir una vulnerabilidad adicional de severidad crítica en una de sus dependencias upstream. 'Hoy temprano, adelantamos la publicación después de identificar una vulnerabilidad de severidad crítica adicional en una de nuestras dependencias upstream', dijeron Josh Story, Karim Rahal y Sebastian Silbermann en el blog de seguridad de Vercel.

La publicación de agosto es la segunda bajo el programa mensual formal de seguridad de Vercel, que la compañía anunció en julio de 2026. 'El volumen de investigación de vulnerabilidades en la industria está aumentando rápidamente, impulsado por el descubrimiento asistido por LLM', dijeron Andrew Imm y Josh Story en el anuncio del programa el 13 de julio. La primera publicación programada, realizada el 21 de julio, abordó nueve vulnerabilidades en Next.js 16.2.11 y 15.5.21, cubriendo denegación de servicio, server-side request forgery y omisión de middleware. Los usuarios que ya aplicaron esos parches de julio aún necesitan la actualización de agosto.

Next.js ha experimentado una serie de divulgaciones críticas de seguridad en los últimos dos años, incluida una falla crítica de omisión de middleware en marzo de 2025 que permitía a atacantes no autenticados saltarse las comprobaciones de autorización en implementaciones autoalojadas. La falla de deserialización React2Shell en React Server Components, divulgada en diciembre de 2025, tenía una puntuación CVSS de 10.0 y fue explotada activamente dentro de las horas posteriores a la divulgación pública. No se había reportado explotación de ninguna de las vulnerabilidades de agosto hasta el 27 de agosto de 2026. The Hacker News contactó a Vercel para obtener comentarios y no había recibido respuesta al momento de la publicación.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *