Критична уязвимост в Next.js би могла да позволи отдалечено изпълнение на код в приложения, които използват имплементацията на ImageResponse за Node.js от пакета next/og. Проблемът, проследяван като GHSA-vcvr-r3jv-pc5j, засяга версии на Next.js от 16.2.0 до 16.3.5 и е коригиран във версия 16.3.6.
Недостатъкът съществува, когато дадено приложение подава контролиран от атакуващия вход към SVG съдържание, SVG атрибути или стилови свойства по време на динамично генериране на изображения.
Разработчиците обикновено използват ImageResponse за създаване на Open Graph изображения, изображения за преглед в социалните мрежи и други графики, генерирани по време на заявка.
Уязвимо приложение може да прочете стойност от параметър в URL адреса и да я включи в SVG елемент. Например дадена крайна точка може да получи стойностен параметър от отдалечен посетител и да го постави в SVG таг <title>.
Ако стойността не се обработва безопасно, специално изработен зловреден код може да достигне до основния процес за рендиране на изображения и да доведе до отдалечено изпълнение на код.
Уязвимост в Node.js ImageResponse
Бюлетинът за сигурност на GitHub (GHSA-vcvr-r3jv-pc5j) посочва, че рискът е ограничен до имплементацията на next/og ImageResponse за Node.js. Приложенията, използващи Edge имплементацията на ImageResponse, не са засегнати. По същия начин приложението не е изложено на риск, ако не вмъква ненадежден вход в SVG маркирания, атрибути или стилове.
Уязвимостта произтича от проблем в компонента по веригата Satori – библиотеката за генериране на SVG, използвана във веригата за рендиране. Satori не е ескейпвала правилно определени стойности, преди да ги постави в генерирания SVG изход, позволявайки манипулирани данни да бъдат интерпретирани като SVG маркиране.
Проблемът в Satori, идентифициран като CVE-2026-94545 и GHSA-wx4j-mvgx-mqwp, засяга версии от 0.0.27 до 0.33.4 и е коригиран във версия 0.33.5.
GitHub оценява проблема в Next.js като критичен според CVSS v4; бюлетинът посочва мрежова експлоатация, ниска сложност на атаката, липса на изисквани привилегии и липса на необходимост от потребителско взаимодействие. Успешната експлоатация може да засегне поверителността, целостта и наличността както на уязвимата система, така и на свързаните системи по веригата.
Киберпрестъпниците могат да се насочат към публични маршрути за генериране на изображения, които обработват стойности от заявки, публикувано съдържание, профилни имена, заглавия на страници или други данни, предоставени от потребителите.
Тъй като крайните точки за Open Graph изображения често са достъпни през интернет, разработчиците трябва да прегледат всеки маршрут с ImageResponse, който приема външен вход.
Засегнатият пакет е next в npm. Версии от 16.2.0 до 16.3.5 са уязвими, докато версия 16.3.6 съдържа корекцията за сигурност. GitHub класифицира проблема в категория CWE-1395, която покрива зависимости от уязвими компоненти на трети страни.
Организациите трябва да обновят Next.js до версия 16.3.6 възможно най-скоро. Актуализацията включва необходимата корекция за уязвимия път на рендиране.
Екипите, които не могат да актуализират веднага, трябва да се уверят, че никакви данни, контролирани от атакуващ, не достигат до SVG съдържание, атрибути или CSS стилове, генерирани чрез имплементацията на ImageResponse за Node.js.
Валидацията на входа сама по себе си може да не е достатъчна, ако ненадеждни низове все още могат да се интерпретират като маркиране. Разработчиците трябва също така да одитират потребителските крайни точки за генериране на изображения, особено маршрути, използващи стойности от заявки.
URL, URL параметри за търсене, хедъри, изпратени форми, CMS съдържание или потребителски профили. URL, URL параметри за търсене, хедъри, изпратени форми, CMS съдържание или потребителски профили.
Преминаването на засегнатите маршрути към Edge имплементацията на ImageResponse може да намали риска. Въпреки това организациите трябва да тестват поведението на рендиране и съвместимостта на внедряването, преди да правят архитектурни промени.
Бюлетинът отдава заслуженото на изследователите по сигурността RaghavMaheshwari124 и rafabd1 за съобщаването на проблема. Предвид потенциала за неавтентифицирано отдалечено изпълнение на код, засегнатите среди с Next.js трябва да третират актуализацията като приоритетна корекция за сигурност.