HEIF Heist: атака на декодеры изображений угрожает целым экосистемам

· Безопасность
Исследователи Hacktron описали класс уязвимостей в нативных декодерах HEIF, HEIC и AVIF, позволяющих получить удалённое выполнение кода и утечку данных через загрузку картинок.

cover.svg

Команда Hacktron представила исследование под названием HEIF Heist — так они назвали целый класс удалённых атак на сервисы, декодирующие подконтрольные злоумышленнику изображения в форматах HEIF, HEIC и AVIF. Суть в том, что уязвимости живут не в коде приложения, а ниже — в нативных C/C++-библиотеках вроде libheif и libde265, которые попадают в продакшн косвенно: через обёртки ImageMagick, libvips или Sharp, стандартные пакеты дистрибутивов и готовые контейнерные образы.

Как это работает

Загружая специально сформированные файлы .avif или .heic на публичные точки приёма, атакующий сначала снимает «отпечаток» — определяет семейство версии libheif на сервере. После этого можно применить точно подобранный под версию payload (n-day или 0-day) и вызвать повреждение памяти, утечку данных или удалённое выполнение кода.

Название отсылает к тому, что даже когда полноценный RCE недостижим, примитивы атаки нередко позволяют читать произвольные участки кучи — то есть «умыкнуть» из памяти чужие данные и переменные окружения, включая токены доступа.

Масштаб

Исследование началось с обнаружения RCE в libheif внутри Discourse, после чего команда задалась вопросом, сколько ещё приложений опираются на тот же стек обработки изображений. Многомесячная работа выявила проблемы в коммуникационных платформах, облачных сервисах, корпоративных продуктах и популярных веб-фреймворках. Среди заявленных результатов — неаутентифицированный RCE в Next.js через оптимизацию AVIF-изображений, RCE в GitHub Enterprise (CVE-2026-19118), а также цепочки, ведущие к утечке файлов и токенов из ряда систем. Авторы напоминают о прошлых громких историях того же рода — ImageTragick, ForcedEntry и уязвимости в libwebp, — подчёркивая огромный «радиус поражения» ошибок в парсерах картинок.

Не тривиально, но реально

Исследователи честно оговариваются: готовых эксплойтов «из коробки» здесь нет. Нужно определить версию цели и подобрать payload, а некоторые RCE удавались лишь после тысяч загрузок. При этом агентный подход с использованием передовой модели сократил время разработки эксплойта до одного-трёх дней — от первой пробы до удалённого выполнения кода.

Проблема не привязана к одной версии: затронуты целые линейки выпусков (1.19.x, 1.20.x, 1.22.x, 1.23.x). В качестве защиты рекомендуется обновить libheif до версии 1.23.2 или новее и взять свежий libde265 через каналы безопасности дистрибутива. Там, где декодирование недоверенных HEIF/AVIF не нужно, его советуют отключать, а сами конвейеры обработки изображений — изолировать в эфемерных песочницах, поскольку новые ошибки памяти в столь сложном формате практически неизбежны.


Источник: Lobsters

Комментарии

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

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