SVG-картинка запускала команды с правами SYSTEM на серверах Bing Images

· Безопасность
Специально подготовленный SVG-файл, отправленный в поиск по картинкам Bing, выполнял произвольные команды на серверах Microsoft — от имени root на Linux и NT AUTHORITY\SYSTEM на Windows. Microsoft закрыла две уязвимости на своей стороне ещё до публикации.

cover.svg

Компания XBOW, специализирующаяся на автономном наступательном тестировании, обнаружила в поисковой системе Bing по изображениям пару критических уязвимостей. Достаточно было передать в обработку особым образом собранный SVG-файл, чтобы на рабочих узлах Microsoft выполнились произвольные команды — на Linux-машинах с идентификатором root (uid=0), а на Windows Server 2022 — с привилегиями NT AUTHORITY\SYSTEM. Одинаковый результат воспроизводился на разных хостах и в разных сетевых диапазонах, то есть проблема сидела в самом слое обработки изображений, а не на одной сбойной машине.

Microsoft присвоила находкам два идентификатора — CVE-2026-32194 и CVE-2026-32191 — и оценила обе в 9,8 балла по шкале CVSS. Пользователям чинить ничего не нужно: исправления внесли на стороне серверов ещё до публикации бюллетеней в марте. XBOW раскрыла техническую механику лишь 23 июля, придержав её по просьбе Microsoft до устранения проблемы.

Как картинка стала оболочкой

Суть бага в том, что приложение считало, будто работает с изображением, а нижележащий обработчик прочитал часть этого «изображения» как команду. Реверс-поиск Bing по картинке сам загружает изображение по URL — на первый взгляд это лишь слепой SSRF, ничего не возвращающий клиенту. Подсказкой стала ошибка: некоторые узлы отдавали браузеру код 500, но всё равно скачивали и разбирали полученный файл.

SVG — это не пиксели, а XML: он может ссылаться на другие изображения, и рендерер послушно идёт за ними. Конвертеры вроде ImageMagick передают неподдерживаемые форматы внешним программам-делегатам, вызываемым через оболочку. На достигнутом исследователями пути этот слой оставался включённым, поэтому ссылка, начинающаяся с символа конвейера, уходила в shell, а не читалась как имя файла. Полезной нагрузкой служил однопиксельный SVG, чья ссылка выполняла команду и отправляла вывод обратно через curl.

Отсюда и два маршрута в один и тот же конвертер: CVE-2026-32194 — публичная загрузка через «Поиск по изображению» (SVG в поле imageBin), CVE-2026-32191 — маршрут краулера, когда bingbot сам забирает файл по переданному через imgurl адресу. Ни один не требует аутентификации, cookie или клика.

Старая болезнь

Это тот же класс ошибок, что и ImageTragick (CVE-2016-3714) десятилетней давности, и он всплывает снова, потому что конвертер никто не считает частью поверхности атаки. CISO XBOW Нико Вайсман сформулировал это так: приложения относятся к обработчикам изображений как к водопроводу, а атакующие — как к парсерам.

Собственная документация ImageMagick прямо предупреждает: политика по умолчанию открыта и рассчитана на изолированное окружение, а не на публичный сайт. Для недоверенных изображений рекомендуется полностью запретить делегатов в policy.xml, урезать список принимаемых форматов (SVG, MVG и EPS несут в себе ссылки и интерпретаторы), запускать конвертацию в песочнице с урезанными правами и заблокировать исходящий трафик от рабочего узла — именно этот канал превратил слепую уязвимость в доказанную.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.