CVE-2026-44827 дозволяє зловмиснику виконувати довільний код під час завантаження моделі Hugging Face Diffusers, навіть якщо прапорець trust_remote_code вимкнено. Дослідники назвали цю вразливість «FaceHugger» і виявили, що вона спричинена станом гонитви (race condition) у двофазному процесі завантаження моделей бібліотеки. Будь-який конвеєр (pipeline), який завантажує моделі з хабу, може бути під загрозою.
Чому ця вразливість є важливою
Diffusers забезпечує роботу моделей text-to-image та інших дифузійних моделей. У липні 2026 року було зафіксовано 8,1 мільйона завантажень, тому незліченна кількість завдань CI/CD, образів контейнерів та корпоративних сервісів виведення (inference services) залежать від неї. Помилка обходить основний механізм безпеки (trust_remote_code), який розробники вмикають для блокування ненадійного Python-коду, що постачається разом із моделлю.
Як працює обхід захисту
- Двофазне завантаження: Diffusers спочатку отримує конфігурацію моделі, а потім другий запит завантажує ваги моделі та будь-який пов'язаний код.
- Стан гонитви (race condition): Перевірка безпеки, яка інспектує перший запит, не поширюється на другий.
- Вставка корисного навантаження: Зловмисник, який контролює другий запит, впорскує шкідливий код, який бібліотека згодом виконує, повністю обходячи механізм перевірки довіри.
Оскільки перевірка стосується лише початкового запиту, вимкнення trust_remote_code створює хибне відчуття захищеності.
Негайні кроки для розробників
- Зафіксуйте версію Diffusers у
requirements.txtабо у вашому lock-файлі, щоб запобігти випадним оновленням до вразливої версії. - Уникайте завантаження моделей «на льоту» у продуктивному середовищі. Завантажуйте моделі у надійне сховище артефактів (наприклад, внутрішній S3 bucket) і завантажуйте їх звідти.
- Проводьте аудит репозиторіїв моделей перед використанням. Перевіряйте, чи відповідають файли коду моделі очікуваним хеш-сумам, або чи походять вони з перевіреного джерела.
- Впровадьте контроль вихідного мережевого трафіку (egress controls), щоб агенти збірки та сервери виведення не могли отримати доступ до публічного хабу Hugging Face, якщо ви не дозволили це явно.
- Запускайте завантаження моделей у ізольованих контейнерах або пісочницях із мінімальними привілеями, щоб обмежити наслідки виконання стороннього коду.
Підсумок:
Помилка FaceHugger показує, що вимкнення trust_remote_code недостатньо. Поки ви не оновите Diffusers і не посилите свій конвеєр отримання моделей, кожне дистанційне завантаження моделі залишатиметься потенційною точкою входу для шкідливого коду.
