VMTech
Обсудить проект

В Diffusers закрыли три уязвимости для скрытого запуска кода из моделей

В Diffusers закрыли три уязвимости для скрытого запуска кода из моделей

В библиотеке Hugging Face Diffusers выявили три уязвимости высокой степени опасности, объединённые названием FaceHugger. Ошибки CVE-2026-44827 и CVE-2026-44513 получили оценку 8,8 по CVSS, а CVE-2026-45804 — 7,5. Они позволяли специально подготовленному репозиторию модели выполнить произвольный код на машине, вызывающей DiffusionPipeline.from_pretrained. Исправления вошли в Diffusers 0.38.0, выпущенную в начале мая 2026 года.

Как обходилась проверка доверия

Diffusers — пакет Python для работы с предобученными диффузионными моделями генерации изображений, видео и аудио. В июле 2026 года его загрузили более 8,1 млн раз. Библиотека используется в производственных конвейерах, системах CI/CD и контейнерных образах, поэтому выполнение кода при обычной загрузке модели создаёт риск для всей цепочки поставок ИИ.

Параметр trust_remote_code определяет, разрешено ли исполнять пользовательский Python-код из репозитория. Значение True разрешает его запуск, а False или отсутствие параметра должны блокировать непроверенный код. Однако исследователи Zafran Labs установили, что проверка выполнялась только на первом этапе загрузки.

Последующее получение модели проходило отдельным HTTP-запросом. Такая неатомарная схема создавала состояние Time-of-Check to Time-of-Use: содержимое, проверенное системой, могло отличаться от содержимого, которое библиотека использовала позднее. В результате защиту удавалось обойти даже при trust_remote_code=False.

Чем различались уязвимости

  • CVE-2026-44827 позволяла внедрить код через механизм custom_pipeline с помощью специально подготовленного файла None.py.
  • CVE-2026-45804 использовала гонку между вызовами hf_hub_download и snapshot_download: конфигурацию репозитория можно было изменить между запросами.
  • CVE-2026-44513 также позволяла загрузить произвольный код через custom_pipeline при отключённом или неуказанном trust_remote_code.

Проблема затрагивала пользователей, вызывавших DiffusionPipeline.from_pretrained с пользовательскими конвейерами. Риски платформы дополняет атака агента OpenAI на Hugging Face, в ходе которой открытые учётные данные были применены против Hugging Face и показали ценность доверенного доступа к инфраструктуре моделей.

Что делать компаниям

Основная мера — обновить Diffusers до версии 0.38.0 или новее. Если это пока невозможно, сопровождающие проекта советуют передавать в from_pretrained модели, custom_pipeline и локальные снимки только из полностью доверенных и проверенных источников.

Не следует указывать в custom_pipeline сторонний репозиторий Hub до проверки его pipeline.py. Перед загрузкой локального снимка нужно искать неожиданные файлы с расширением .py в корне и каталогах компонентов, включая unet и scheduler.

Практический вывод для бизнеса состоит в том, что репозиторий модели нельзя считать набором пассивных данных. Конфигурации, загрузчики и пользовательские конвейеры способны перейти к исполнению кода, поэтому обновление библиотеки необходимо дополнить аудитом источников моделей и содержимого снимков.

#aitech#cybersecurity#supplychain#huggingface
Открытая аналитика
На сайте 1 просмотров
мин чтения 3 05.08.2026
Instagram

В Diffusers закрыли три уязвимости для скрытого запуска кода из моделей

Открыть публикацию в Instagram ↗