Специално създаден SVG файл, изпратен към търсачката за изображения на Bing, е изпълнил команди като NT AUTHORITY\SYSTEM върху производствените работни процеси за обработка на изображения на Microsoft и като root на Linux машините в същата мрежа.

XBOW, автономният стартъп за офанзивна сигурност, откри и двете уязвимости и ги докладва поверително. Потребителите на Bing няма нужда да инсталират корекции за сигурност или да прилагат мерки за смекчаване: Microsoft коригира уязвимостите откъм сървъра, преди съобщенията да бъдат публикувани през март, като в записите се посочва, че „не се изискват действия от страна на клиентите за разрешаване на проблема“.

Нито едно от съобщенията не отчита експлоатация или публично оповестяване, когато бяха публикувани на 19 март. XBOW публикува механизмите за експлоатация на 23 юли, след като ги задържа по искане на Microsoft, докато отстраняването на уязвимостите приключи.

Това, което остава след корекцията, е самият характер на проблема. Приложението е смятало, че обработва изображение, докато помощният инструмент отдолу е разчел част от това изображение като команда.

Ако вашият собствен софтуерен стек пренасочва качени файлове или извлечени от сървъра URL адреси през ImageMagick или нещо съвместимо с ImageMagick, вашата уязвимост зависи от това дали контролираното от атакуващия съдържание все още може да достигне до път с разрешени делегати. Забранете делегатите, намалете приеманите формати и изолирайте работния процес от мрежата и същият SVG няма да направи нищо.

Обратното търсене на изображения в Bing извлича URL адрес на изображение от бекенда, тъй като това е самата функция. Само по себе си това е сляпо SSRF уязвимост: нищо не се връща към клиента. Индикацията беше грешката. Някои работни процеси връщаха 500 на браузъра и въпреки това извличаха и анализираха това, което са получили, което сочеше, че нещо по веригата надолу извършва анализа.

SVG форматът отговори на този въпрос. Това е XML, а не пиксели: той може да препраща към други изображения, а визуализаторът, който следва тези препратки, отива и ги извлича. Отдолу пакетите за конвертиране предават формати, които самите те не обработват, на делегат – външна програма, извиквана чрез обвивка (shell).

В пътя, който XBOW достигна, този слой все още беше разрешен, така че препратка към изображение, започваща с вертикална черта (|), отиваше към обвивката, вместо да бъде прочетена като име на файл. Зловредният код беше SVG от един пиксел, чиято препратка изпълняваше команда на работния процес и изпращаше изходните данни обратно към колектор, контролиран от XBOW.

Това осигури два пътя към един и същ слой за конвертиране и съответно две CVE-та.

CVE-2026-32194, класифицирана като инжектиране на команди под CWE-77, е публичното качване чрез „Търсене по изображение“, като SVG файлът се изпраща в base64 като поле imageBin към /images/kblob.

CVE-2026-32191, класифицирана като инжектиране на OS команди под CWE-78, е пътят на робота за сканиране (crawler): хоствайте SVG файла където и да е, подайте неговия URL адрес на търсенето чрез параметъра imgurl и bingbot/2.0 го извлича в същия тръбопровод. Нито един от вариантите не изисква удостоверяване, бисквитки, състояние на сесията или кликване от потребителя.

Медията The Hacker News провери двата записа за CVE на 24 юли. И двата все още носят статуса на Microsoft от март за липса на публично оповестяване, който беше изпреварен от анализа на XBOW, и Microsoft все още ги списва като неексплоатирани.

Доказателството трябваше да дойде по алтернативен канал. Фронтендът можеше да върне грешка, докато работният процес все пак се изпълняваше. Работните процеси под Linux връщаха uid=0 и gid=0. При Windows, systeminfo посочваше Windows Server 2022 Datacenter, whoami /all показваше активирани SeImpersonatePrivilege и SeDebugPrivilege, а списъците с директории показваха изпълнение в мултимедийните компоненти за обработка на изображения на Bing. Компанията заявява, че е изпълнявала само безопасни команди за четене и не е докосвала клиентски данни.

Свеждането на проблема до този път отне десетки сондирания. Псевдопротоколите на ImageMagick се връщаха по различен начин в зависимост от кодиращия модул: label: визуализираше текст и xc: създаваше цветно изображение, докато text:, caption: и директното четене на файлове се проваляха. Метасимволите на обвивката вътре в label: се визуализираха като текст, вместо да се изпълняват, което изключи този модул. Пътят, който действително достигна до делегат, беше препратката към изображение в самия SVG файл.

Работен процес за обработка на изображения, който борави с ненадеждни файлове, не трябва да има достъп до обвивка, да се изпълнява като SYSTEM или да има изход към интернет. Тръбопроводът на Bing правеше и трите.

Собствените насоки на ImageMagick изрично посочват, че политиката по подразбиране е отворена и е предназначена за изолирана среда или защитена с защитна стена употреба, а не за публичен уебсайт. За всичко, което докосва ненадеждни изображения, забранете изцяло делегатите в policy.xml:

<policy domain="delegate" rights="none" pattern="*" />

След това, по ред на ефикасност:

  • Намалете форматите, които приемате. SVG, MVG и EPS са сред тези, които пренасят препратки и интерпретатори.
  • Прегледайте delegates.xml и деактивирайте всичко активирано, което не ви е необходимо.
  • Стартирайте конвертирането в изолирана среда и с намалени привилегии.
  • Блокирайте изходящия мрежов трафик от работния процес, което е стъпката, превърнала сляпата уязвимост в доказана такава.
  • Одобрете предварително (allowlist) дестинациите, до които може да достигне извличане от страна на сървъра, и дръжте работния процес далеч от вътрешни адреси.

Насоките на ImageMagick са да се тества след всяка промяна на политиката, като командата magick identify -list policy отпечатва това, което действително е заредено.

ImageTragick,