← volver
CVE-2026-27980

Next.js: Unbounded next/image disk cache growth can exhaust storage

CVSS 6.9 MEDIUMEPSS 0.7%CWE-400
En resumen

Next.js almacena imágenes optimizadas en caché en disco sin límite de tamaño, permitiendo que un atacante llene el almacenamiento de su servidor solicitando muchas variaciones diferentes de imágenes. Esto puede bloquear su aplicación y dejar su sitio web no disponible.

Detalle técnico

CVE-2026-27980 afecta Next.js versiones 10.0.0 a 16.1.6 donde el directorio de caché `/_next/image` crece sin límite sin control de recursos. Un atacante puede explotar CWE-400 (Consumo Descontrolado de Recursos) creando solicitudes con parámetros variados de optimización de imágenes para agotar el espacio en disco, resultando en denegación de servicio. La mitigación requiere actualizar a 16.1.7+ que implementa evicción LRU mediante `images.maximumDiskCacheSize`, o limpiar temporalmente directorios de caché y restringir patrones de generación de variantes.

Resumen generado y traducido por IA a partir de la descripción oficial.
Next.js is a React framework for building full-stack web applications. Starting in version 10.0.0 and prior to version 16.1.7, the default Next.js image optimization disk cache (`/_next/image`) did not have a configurable upper bound, allowing unbounded cache growth. An attacker could generate many unique image-optimization variants and exhaust disk space, causing denial of service. This is fixed in version 16.1.7 by adding an LRU-backed disk cache with `images.maximumDiskCacheSize`, including eviction of least-recently-used entries when the limit is exceeded. Setting `maximumDiskCacheSize: 0` disables disk caching. If upgrading is not immediately possible, periodically clean `.next/cache/images` and/or reduce variant cardinality (e.g., tighten values for `images.localPatterns`, `images.remotePatterns`, and `images.qualities`).
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Productos afectados
vercel · next.js

¿Quieres saber si tu infraestructura está expuesta a esto?

Hablar con TrueHacking →