Перейти к содержимому
Все статьи
Новости152-ФЗБезопасность сайта

Next.js 16.4.5 и 15.5.29: семь уязвимостей кеша и cookie закрыты

·4 ноября 2026 г.· 6 мин чтения
Проверьте свой сайт на 152-ФЗПроверить сайт
Содержание · 5
  1. Что закрыли
  2. Кого касается
  3. Что сделать
  4. Что ещё важно знать
  5. Вопросы и ответы

3 ноября 2026 года команда Next.js выпустила плановый релиз безопасности: версии 16.4.5 (Active LTS) и 15.5.29 (Maintenance LTS). Закрыто семь уязвимостей, одна из них в блоге отмечена как высокая. Больше всего рискуют проекты с Cache Components и директивой use cache, а также сайты, которые запускаются через next start на своём сервере. Что делать: обновить пакет next до патча своей ветки, пересобрать проект и сбросить кеш.

О релизе предупреждали заранее, 27 октября, — мы писали об этом в новости о плановом патче Next.js 3 ноября. Теперь опубликованы описания всех проблем, и можно понять, касается ли это вашего проекта.

Что закрыли

ПроблемаУровеньКого касается
Кеш одного арендатора попадает к другому при сочетании unstable_cache и use cacheвысокий (по блогу)проекты с Cache Components, где кешируемая функция читает корневой параметр, например tenant
Вложенные use cache отдают контент для другого корневого параметрасредниймультисайты, мультиязычные и мультиарендные приложения
Бинарные аргументы use cache дают одинаковый ключ кешасреднийкод, который различает пользователей по бинарным аргументам
Отравление общего «каркаса» страницысреднийself-hosted next start с Cache Components и выключенным Partial Prefetching
Чужой ответ клиенту из-за заголовков сжатиясреднийself-hosted за HTTP/1.1-прокси с конвейерными запросами
Значение cookie в служебном заголовке x-middleware-set-cookieсреднийEdge Route Handlers и Edge API routes с NextResponse.cookies.set()
Обход запрета SVG в оптимизации изображенийсреднийпроекты с images.dangerouslyAllowSVG: false и нативным декодером

Общая черта большинства проблем — кеш. Next.js по ошибке считает два разных запроса одинаковыми и отдаёт второму пользователю то, что сгенерировано для первого. Для обычного сайта-визитки это неприятная, но редкая ситуация. Для SaaS, личного кабинета или мультирегионального магазина это уже утечка данных клиента.

Кого касается

  • Проекты на ветках 16.x и 15.x. В анонсе исправления выпущены только для них. Если сайт работает на 14.x или старше, патча в этом релизе нет — это повод планировать переход.
  • Мультиарендные приложения: один код обслуживает несколько клиентов, а разделение идёт по корневому параметру маршрута.
  • Сайты на своём сервере (next start) за nginx или другим обратным прокси.
  • Проекты с Edge-маршрутами, которые ставят чувствительные cookie.

Если в проекте нет Cache Components, use cache и Edge-маршрутов, практический риск ниже. Но обновление всё равно стоит поставить: часть исправлений касается обработки изображений и ответов, которые есть почти в любом приложении.

Что сделать

  1. Посмотрите версию: npm ls next или поле next в package.json.
  2. Обновите пакет: для ветки 16.4 — next@16.4.5, для 15.5 — next@15.5.29.
  3. Пересоберите проект и очистите кеш данных и страниц после выкладки, чтобы не раздавать записи, которые уже могли смешаться.
  4. Если есть мультиарендность, проверьте ключи кеша: идентификатор клиента должен явно входить в аргументы кешируемой функции.
  5. Проверьте Edge-маршруты: какие cookie они ставят и не читает ли их сторонний JavaScript на том же домене.
  6. Если SVG запрещены, но картинки берутся из чужих источников, сократите список разрешённых доменов в images.remotePatterns.

Обновление без сборки и проверки на тестовом стенде лучше не катить: между патч-версиями иногда меняется поведение кеша. Если нужен регулярный выпуск таких патчей, это работа для поддержки сайта, а разовую проверку уязвимостей можно начать с бесплатной проверки CMS и фреймворков.

Что ещё важно знать

В карточке GitHub для главной уязвимости (GHSA-mfr8-8qww-v76h, CVE-2026-119790) указан средний уровень и оценка CVSS 4.0 — 6,3, хотя в блоге Next.js она названа высокой. Для решения это ничего не меняет: обновляться нужно в любом случае.

Next.js выпускает такие релизы примерно раз в месяц по объявленному графику. Удобно заранее заложить в план работ день на обновление после каждого анонса — так патч не превращается в срочную задачу. Предыдущие критические исправления октября мы разбирали в материале про Next.js 15.5.28 и 16.4.1.

Вопросы и ответы

Нужно ли обновляться, если я не использую use cache?

Да. Большая часть проблем связана с кешем, но есть и исправления для Edge-маршрутов, сжатых ответов и оптимизации изображений. Патч внутри ветки обычно не меняет API, поэтому обновление недорогое.

Что делать сайтам на Next.js 14?

В анонсе 3 ноября исправления выпущены только для веток 16.4 и 15.5. Сайту на 14.x стоит запланировать переход хотя бы на 15.5, иначе каждый следующий релиз безопасности будет обходить его стороной.

Затронуты ли сайты на Vercel?

Часть уязвимостей описана именно для self-hosted запуска через next start. Но проблемы кеша и Edge-маршрутов зависят от кода приложения, поэтому обновлять пакет нужно и на Vercel.

Как понять, что данные уже утекли?

Прямого признака нет. Проверьте жалобы пользователей на чужие данные в кабинете и логи за период с включёнными Cache Components. После обновления очистите кеш, чтобы старые записи не продолжали отдаваться.

Нужна помощь с проектом?

Обсудим задачу и предложим решение — от сайта до SaaS и защиты.

Связаться