CVE-2026-44827 membolehkan penyerang melaksanakan kod sewenang-wenangnya apabila model Hugging Face Diffusers dimuatkan, walaupun bendera trust_remote_code telah dimatikan. Penyelidik menamakan kelemahan ini sebagai “FaceHugger” dan mengesan punca masalah ini kepada keadaan perlumbaan (race condition) dalam proses pemuatan model dua fasa perpustakaan tersebut. Mana-mana saluran paip (pipeline) yang menarik model daripada hab boleh terjejas.

Mengapa kerentanan ini penting

Diffusers memacu model teks-ke-imej dan model difusi yang lain. Pada Julai 2026, ia mencatatkan 8.1 juta muat turun, jadi banyak tugasan CI/CD, imej kontena dan perkhidmatan inferens perusahaan bergantung kepadanya. Pepijat ini memintas mekanisme keselamatan utama (trust_remote_code) yang diaktifkan oleh pembangun untuk menyekat kod Python yang tidak dipercayai yang disertakan bersama model.

Bagaimana pintasan ini berfungsi

  • Pemuatan dua fasa: Diffusers terlebih dahulu mengambil konfigurasi model, kemudian permintaan kedua akan menarik pemberat (weights) model dan sebarang kod yang berkaitan.
  • Keadaan perlumbaan (race condition): Semakan keselamatan yang memeriksa permintaan pertama tidak merangkumi permintaan kedua.
  • Penyisipan muatan (payload): Penyerang yang mengawal permintaan kedua akan menyuntik kod berniat jahat yang kemudiannya dilaksanakan oleh perpustakaan tersebut, sekali gus memintas pintu kepercayaan (trust gate) sepenuhnya.

Oleh kerana semakan tersebut hanya melihat pada permintaan awal, menyahaktifkan trust_remote_code memberikan rasa perlindungan yang palsu.

Langkah segera untuk pembangun

  1. Tetapkan versi Diffusers dalam requirements.txt atau fail kunci (lock file) anda untuk mengelakkan naik taraf tidak sengaja kepada versi yang rentan.
  2. Elakkan penarikan model secara langsung (on-the-fly) dalam persekitaran pengeluaran. Muat turun model ke stor artifak yang dipercayai (contohnya, baldi S3 dalaman) dan muatkannya dari sana.
  3. Audit repositori model sebelum digunakan. Sahkan bahawa fail kod model sepadan dengan hash yang dijangkakan atau datang daripada sumber yang telah disemak.
  4. Tegaskan kawalan keluar rangkaian (network egress controls) supaya ejen binaan dan pelayan inferens tidak dapat mencapai hab Hugging Face awam melainkan anda membenarkannya.
  5. Jalankan pemuatan model di dalam kontena terasing atau kotak pasir (sandboxes) dengan keistimewaan minimum, bagi mengehadkan kesan pelaksanaan kod yang tidak diingini.

Kesimpulan:

Pepijat FaceHugger menunjukkan bahawa mematikan trust_remote_code tidak mencukupi. Sehingga anda mengemas kini Diffusers dan memperkukuh saluran paip pengambilan model anda, setiap penarikan model jarak jauh kekal sebagai titik masuk berpotensi untuk kod berniat jahat.