Next.js — это платформа React для создания полнофункциональных веб-приложений. Начиная с версии 10.0.0 и до версии 16.1.7, дисковый кэш оптимизации изображений Next.js по умолчанию (`/_next/image`) не имел настраиваемой верхней границы, что позволяло неограниченный рост кэша. Злоумышленник может создать множество уникальных вариантов оптимизации изображений и исчерпать дисковое пространство, что приведет к отказу в обслуживании.
В версии 16.1.7 это исправлено путем добавления дискового кэша на основе LRU с `images.maximumDiskCacheSize`, включая удаление записей, которые использовались реже всего, при превышении лимита. Установка `maximumDiskCacheSize: 0` отключает кэширование диска. Если обновление невозможно немедленно, периодически очищайте `.next/cache/images` и/или уменьшайте количество вариантов (например, уменьшите значения для `images.localPatterns`, `images.remotePatterns` и `images.qualities`).
Показать оригинальное описание (EN)
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 v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Vercel Next.Js
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*
|
10.0.0
|
16.1.7
|