web24.team

Next.js 16.3.6 закрывает критическую RCE-уязвимость в ImageResponse

Вышли внеочередные обновления безопасности Next.js 16.3.6 и 15.5.26. Они исправляют критическую уязвимость удалённого выполнения кода в Node.js ImageResponse, связанную с Satori и SVG.

Схематичное изображение уязвимости: браузер и серверный код, красный предупреждающий символ
Изображение: nextjs.org

Что изменилось

  • Выпущены внеочередные обновления безопасности: Next.js 16.3.6 (Active LTS) и Next.js 15.5.26 (Maintenance LTS).
  • Обновлены зависимые пакеты, включая Satori, чтобы устранить уязвимость удалённого выполнения кода (RCE) в Node.js-версии ImageResponse из next/og.
  • Уязвимость затрагивает версии Next.js от 16.2.0 до 16.3.5 включительно.
  • Версия 15.5.26 содержит только «укрепление» (hardening), но линейка 15.x не подвержена RCE.
  • Edge-реализация ImageResponse не затронута.

Что это значит для вашего проекта

Если вы используете Next.js 16.x и на сервере (Node.js runtime) генерируете OG-изображения через ImageResponse из next/og, обновление до 16.3.6 критично. Проблема возникает из-за некорректного экранирования в SVG, которое генерирует Satori, в сочетании с другими уязвимостями в зависимостях. Это может привести к выполнению произвольного кода.

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

Проверьте, не используете ли вы ImageResponse на Node.js, и запланируйте обновление как можно скорее. Это обратно совместимые минорные версии, поэтому риски при обновлении минимальны.

Коротко

Какие версии Next.js уязвимы к RCE в ImageResponse?

Уязвимость затрагивает версии Next.js от 16.2.0 до 16.3.5 включительно. Версии 15.x не подвержены этой проблеме.

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

Edge-реализация ImageResponse не затронута, но обновление до 16.3.6 или 15.5.26 всё равно рекомендуется для получения других исправлений безопасности.

Что делать, если я на Next.js 15.x?

Обновитесь до версии 15.5.26. Это обновление содержит укрепление безопасности, хотя ваша версия и не подвержена RCE.

Источник: nextjs.org ↗