CVE-2026-44827 मुळे Hugging Face Diffusers मॉडेल लोड करताना, जरी trust_remote_code फ्लॅग बंद असला तरीही, एखादा अटॅकर कोणताही कोड कार्यान्वित (execute) करू शकतो. संशोधकांनी या त्रुटीला “FaceHugger” असे नाव दिले असून, लायब्ररीच्या दोन-टप्प्यातील (two-phase) मॉडेल लोडिंग प्रक्रियेतील 'रेस कंडिशन' (race condition) मुळे ही समस्या उद्भवते असे शोधून काढले आहे. हबमधून मॉडेल्स खेचणाऱ्या (pulls) कोणत्याही पाइपलाइनवर याचा परिणाम होऊ शकतो.

ही असुरक्षितता का महत्त्वाची आहे

Diffusers हे text-to-image आणि इतर diffusion मॉडेल्सना सक्षम करते. जुलै २०२६ मध्ये याचे ८.१ दशलक्ष डाउनलोड्स नोंदवले गेले होते, त्यामुळे असंख्य CI/CD जॉब्स, कंटेनर इमेजेस आणि एंटरप्राइझ इन्फरन्स सर्व्हिसेस त्यावर अवलंबून आहेत. ही त्रुटी त्या मुख्य सुरक्षा यंत्रणेला (trust_remote_code) चकवा देते, जी डेव्हलपर्स मॉडेलसोबत येणारा अविश्वसनीय Python कोड रोखण्यासाठी सक्षम करतात.

ही बायपास (bypass) प्रक्रिया कशी काम करते

  • दोन-टप्प्यातील लोडिंग (Two-phase loading): Diffusers प्रथम मॉडेल कॉन्फिगरेशन मिळवते आणि त्यानंतर दुसऱ्या विनंतीद्वारे (request) मॉडेल वेट्स (weights) आणि संबंधित कोड खेचला जातो.
  • रेस कंडिशन (Race condition): पहिल्या विनंतीची तपासणी करणारी सुरक्षा तपासणी (security check) दुसऱ्या विनंतीपर्यंत लागू होत नाही.
  • पेलोड इन्सर्शन (Payload insertion): दुसऱ्या विनंतीवर नियंत्रण ठेवणारा अटॅकर घातक कोड (malicious code) इंजेक्ट करतो, जो लायब्ररी नंतर कार्यान्वित करते, ज्यामुळे ट्रस्ट गेट (trust gate) पूर्णपणे बायपास होतो.

तपासणी केवळ सुरुवातीच्या विनंतीवर लक्ष केंद्रित करत असल्यामुळे, trust_remote_code अक्षम केल्याने सुरक्षेचा केवळ आभास निर्माण होतो.

डेव्हलपर्ससाठी तातडीची पावले

  1. Diffusers ची आवृत्ती (version) निश्चित करा: असुरक्षित आवृत्तीमध्ये चुकून होणारे अपग्रेड रोखण्यासाठी requirements.txt किंवा तुमच्या लॉक फाईलमध्ये Diffusers ची आवृत्ती निश्चित (pin) करा.
  2. प्रोडक्शनमध्ये ऑन-द-फ्लाई (on-the-fly) मॉडेल पुल करणे टाळा: मॉडेल्स एखाद्या विश्वसनीय आर्टिफॅक्ट स्टोअरमध्ये (उदा. अंतर्गत S3 bucket) डाउनलोड करा आणि तिथूनच ते लोड करा.
  3. मॉडेल रिपॉझिटरीजचे ऑडिट करा: वापरण्यापूर्वी मॉडेलच्या कोड फाईल्स अपेक्षित हॅशेसशी (hashes) जुळतात की नाही किंवा त्या प्रमाणित स्त्रोताकडून (vetted source) आल्या आहेत की नाही, याची खात्री करा.
  4. नेटवर्क एग्रेस कंट्रोल्स (network egress controls) लागू करा: जेणेकरून तुम्ही परवानगी दिल्याशिवाय बिल्ड एजंट्स आणि इन्फरन्स सर्व्हर्स सार्वजनिक Hugging Face हबपर्यंत पोहोचू शकणार नाहीत.
  5. मॉडेल लोडिंग आयसोलेटेड कंटेनर्स किंवा सँडबॉक्समध्ये (sandboxes) चालवा: किमान विशेषाधिकारांसह (minimal privileges) हे केल्यामुळे अनपेक्षित कोड कार्यान्वित होण्याचा परिणाम मर्यादित राहतो.

निष्कर्ष:

FaceHugger बग हे दर्शवतो की trust_remote_code बंद करणे पुरेसे नाही. जोपर्यंत तुम्ही Diffusers अपडेट करत नाही आणि तुमची मॉडेल इंजेक्शन पाइपलाइन (model ingestion pipeline) अधिक सुरक्षित करत नाही, तोपर्यंत प्रत्येक रिमोट मॉडेल पुल हा घातक कोडसाठी संभाव्य प्रवेश बिंदू (entry point) राहू शकतो.