CVE-2026-44827 memungkinkan penyerang mengeksekusi kode arbitrer saat model Hugging Face Diffusers dimuat, bahkan jika flag trust_remote_code dimatikan. Para peneliti menamai celah ini “FaceHugger” dan melacaknya ke sebuah race condition dalam proses pemuatan model dua fase pada pustaka tersebut. Setiap pipeline yang menarik model dari hub dapat terdampak.

Mengapa kerentanan ini penting

Diffusers menggerakkan model text-to-image dan model difusi lainnya. Pada Juli 2026, pustaka ini mencatat 8,1 juta unduhan, sehingga tak terhitung banyaknya pekerjaan CI/CD, citra kontainer (container images), dan layanan inferensi perusahaan yang bergantung padanya. Bug ini menembus mekanisme keamanan utama (trust_remote_code) yang diaktifkan pengembang untuk memblokir kode Python yang tidak tepercaya yang disertakan bersama model.

Cara kerja bypass tersebut

  • Pemuatan dua fase: Diffusers pertama-tama mengambil konfigurasi model, kemudian permintaan kedua menarik bobot (weights) model dan kode terkait apa pun.
  • Race condition: Pemeriksaan keamanan yang memeriksa permintaan pertama tidak berlaku untuk permintaan kedua.
  • Penyisipan payload: Penyerang yang mengontrol permintaan kedua menyuntikkan kode berbahaya yang kemudian dieksekusi oleh pustaka, melewati gerbang kepercayaan sepenuhnya.

Karena pemeriksaan hanya melihat permintaan awal, menonaktifkan trust_remote_code memberikan rasa aman yang palsu.

Langkah segera bagi pengembang

  1. Kunci versi Diffusers di requirements.txt atau file kunci (lock file) Anda untuk menghentikan pembaruan tidak sengaja ke rilis yang rentan.
  2. Hindari penarikan model secara langsung (on-the-fly) di lingkungan produksi. Unduh model ke penyimpanan artefak yang tepercaya (misalnya, bucket S3 internal) dan muat model dari sana.
  3. Audit repositori model sebelum digunakan. Verifikasi bahwa file kode model sesuai dengan hash yang diharapkan atau berasal dari sumber yang telah diperiksa.
  4. Terapkan kontrol egress jaringan sehingga agen build dan server inferensi tidak dapat menjangkau hub Hugging Face publik kecuali Anda mengizinkannya.
  5. Jalankan pemuatan model di dalam kontainer atau sandbox yang terisolasi dengan hak istimewa minimal, guna membatasi dampak eksekusi kode liar.

Kesimpulan:

Bug FaceHugger menunjukkan bahwa menonaktifkan trust_remote_code saja tidak cukup. Sampai Anda memperbarui Diffusers dan memperkuat pipeline pengambilan model Anda, setiap penarikan model jarak jauh tetap menjadi titik masuk potensial bagi kode berbahaya.