В Next.js исправили критическую уязвимость в ImageResponse
Ошибка CVE-2026-94545 в обработке специально подготовленных SVG-данных может привести к выполнению кода на сервере. Уязвимы приложения на Next.js 16.2.0–16.3.5, использующие ImageResponse в среде Node.js.

Vercel выпустила Next.js 16.3.6 с исправлением критической уязвимости CVE-2026-94545 в ImageResponse — механизме генерации изображений для Open Graph и других предпросмотров. При определённых условиях ошибка позволяет выполнить код на сервере.
Риск возникает, если приложение передаёт в SVG-содержимое, атрибуты или стили значения, которые контролирует пользователь. В качестве примера в консультации приводится значение из URL запроса, помещённое в элемент SVG title. ImageResponse использует библиотеку Satori: она преобразует разметку изображения в SVG перед созданием итогового PNG. Из-за недостаточного экранирования специально сформированное значение может быть интерпретировано как SVG-код, а не обычный текст.
Проблема затрагивает Next.js с 16.2.0 по 16.3.5 при работе ImageResponse в среде Node.js, используемой по умолчанию. Next.js 15 и версия ImageResponse для Edge Runtime уязвимыми не считаются. Vercel оценила CVE-2026-94545 в 9,5 балла по CVSS и рекомендует обновиться до Next.js 16.3.6 — на момент публикации это единственная версия с исправлением. Для ветки 15.5 выпущен Next.js 15.5.26 с дополнительным усилением защиты next/og.
Если обновление приходится отложить, разработчикам следует исключить попадание контролируемых пользователем данных в SVG-контент, его атрибуты и стили, которые обрабатывает ImageResponse в Node.js. Проверить использование функции можно по импорту ImageResponse из next/og — в частности, в обработчиках маршрутов и файлах opengraph-image.
Как сообщает The Hacker News, по состоянию на 23 сентября публичных сообщений об атаках с эксплуатацией этой ошибки и готового публичного кода эксплойта не было. Издание также отмечает, что npm audit на тот момент не помечал Next.js 16.3.5 как уязвимую версию, поэтому разработчикам следует сверять установленную версию Next.js самостоятельно.
Ошибка находится в Satori, поставляемой внутри пакета Next.js. Разработчикам, использующим Satori напрямую, рекомендовано обновить библиотеку до версии 0.33.5.