Разработчики Next.js выпустили патчи для версий 15.5.21 и 16.2.11, устраняющие сразу девять уязвимостей, четыре из которых отнесены к высокой степени опасности. Проблемы затрагивают App Router, Server Actions, механизм кэширования, а также обработку изображений. Ряд дефектов может привести к удалённому отказу в обслуживании, подмене ответов кэша и обходу аутентификации на уровне промежуточного ПО.
Детали уязвимостей
Наиболее серьёзные уязвимости высокой степени опасности связаны с векторами Server-Side Request Forgery (SSRF) и отказа в обслуживании. Первая из них, CVE-2026-64641, позволяет злоумышленнику отправлять специально сформированные запросы к приложениям на App Router, использующим хотя бы одну Server Action. Это приводит к чрезмерному потреблению процессорного времени и блокировке обработки последующих запросов в том же процессе. Приложения на Pages Router или без Server Actions не уязвимы. Обходной путь отсутствует - необходима установка обновления.
Уязвимость CVE-2026-64642 даёт возможность обойти аутентификацию в Middleware на приложениях, собранных с Turbopack и использующих единственную локаль в конфигурации i18n. Злоумышленник может отправить сконструированный запрос, который обходит проверки прав доступа, выполняемые Middleware или прокси. В качестве временной меры рекомендуется выполнять авторизацию на уровне серверного кода страницы, а не полагаться исключительно на Middleware.
Две уязвимости с высокой степенью опасности относятся к SSRF. Первая (CVE-2026-64645) возникает, когда правила rewrites() или redirects() строят внешний целевой хост из данных, контролируемых запросом. Это позволяет перенаправить запрос на произвольный хост, в результате чего злоумышленник может инициировать запросы от имени сервера или организовать открытое перенаправление. Разработчики рекомендуют не формировать хост динамически из пользовательского ввода либо ограничивать его безопасными символами. Вторая SSRF-уязвимость (CVE-2026-64649) затрагивает Server Actions на кастомных серверах. Если заголовок Host контролируется клиентом, атака может привести к отправке сервером запроса к вредоносному хосту при перенаправлении или редиректе. В средах с управляемым хостингом или при использовании next start начиная с версии 14.2 риск снижен; в остальных случаях требуется фиксация заголовка Host на уровне прокси.
Среди уязвимостей умеренного уровня пять проблем. Уязвимость CVE-2026-64643 приводит к раскрытию идентификаторов Server Actions неаутентифицированным пользователям через статические клиентские артефакты. Само по себе это обычно является примитивом разведки, но в сочетании с другими недостатками может повысить риск. Разработчики советуют не полагаться на аутентификацию вне границ Server Action.
Другая уязвимость (CVE-2026-64644) затрагивает API оптимизации изображений при самостоятельном хостинге. Если загружаемое SVG-изображение содержит вредоносное содержимое, это может вызвать истощение ресурсов CPU на конечной точке /_next/image. Опция unoptimized: true или пользовательский загрузчик устраняют проблему. В качестве временного решения можно установить флаг config.experimental.imgOptSkipMetadata: true.
Две уязвимости кэширования (CVE-2026-64648 и CVE-2026-64647) связаны с возвратом кэшированного ответа от другого запроса к тому же URL с другим телом. В первом случае это происходит при использовании fetch с разными параметрами init; во втором - при обработке тел запросов с кодировкой, отличной от UTF-8 (например, UTF-16). Утечка конфиденциальных данных возможна только в приложениях на App Router; на Pages Router проблемы нет. Для первой из них обходные пути отсутствуют, для второй рекомендуется использовать только UTF-8 тела.
Последняя уязвимость умеренного уровня (CVE-2026-64646) приводит к чрезмерному потреблению памяти в среде Edge Runtime при отправке запросов с неограниченным телом к Server Action. Рекомендуется ограничить размер тела запроса на стороне хостинг-провайдера (максимум 5 МиБ).
Разработчики Next.js оперативно выпустили исправления. Пользователям настоятельно рекомендуется обновить фреймворк до версий 15.5.21 или 16.2.11. Для тех, кто не может выполнить обновление немедленно, в бюллетенях приведены частные временные меры защиты. Уязвимости затрагивают практически все версии Next.js, начиная с 12-й, и подчёркивают важность регулярного обновления зависимостей в проектах, использующих App Router и Server Actions.
Ссылки
- https://github.com/vercel/next.js/releases/tag/v15.5.21
- https://github.com/vercel/next.js/releases/tag/v16.2.11