trust_remote_code ഫ്ലാഗ് ഓഫ് ചെയ്തിട്ടുണ്ടെങ്കിൽ പോലും, ഒരു Hugging Face Diffusers മോഡൽ ലോഡ് ചെയ്യുമ്പോൾ അറ്റാക്കർക്ക് ഇഷ്ടാനുസൃത കോഡ് (arbitrary code) പ്രവർത്തിപ്പിക്കാൻ CVE-2026-44827 അനുവദിക്കുന്നു. ഗവേഷകർ ഈ പിഴവിനെ “FaceHugger” എന്ന് വിളിക്കുകയും ലൈബ്രറിയുടെ രണ്ട് ഘട്ടങ്ങളിലായുള്ള മോഡൽ ലോഡിംഗ് പ്രക്രിയയിലെ ഒരു race condition-ലേക്ക് ഇത് എത്തിച്ചേരുകയും ചെയ്തു. ഹബ്ബിൽ നിന്ന് മോഡലുകൾ എടുക്കുന്ന ഏത് പൈപ്പ്ലൈനും ഇതിനാൽ ബാധിക്കപ്പെട്ടേക്കാം.
ഈ സുരക്ഷാ പിഴവ് എന്തുകൊണ്ട് പ്രധാനമാണ്
ടെക്സ്റ്റ്-ടു-ഇമേജ് (text-to-image), മറ്റ് ഡിഫ്യൂഷൻ മോഡലുകൾ എന്നിവ പ്രവർത്തിപ്പിക്കുന്നത് Diffusers ആണ്. 2026 ജൂലൈയിൽ ഇത് 8.1 ദശലക്ഷം ഡൗൺലോഡുകൾ രേഖപ്പെടുത്തിയിട്ടുണ്ട്, അതിനാൽ എണ്ണമറ്റ CI/CD ജോബുകൾ, കണ്ടെയ്നർ ഇമേജുകൾ, എന്റർപ്രൈസ് ഇൻഫറൻസ് സർവീസുകൾ എന്നിവ ഇതിനെ ആശ്രയിക്കുന്നു. ഒരു മോഡലിനൊപ്പം വരുന്ന വിശ്വസനീയമല്ലാത്ത പൈത്തൺ കോഡുകൾ തടയാൻ ഡെവലപ്പർമാർ ഉപയോഗിക്കുന്ന പ്രധാന സുരക്ഷാ സംവിധാനത്തെ (trust_remote_code) ഈ ബഗ് മറികടക്കുന്നു.
ഈ ബൈപാസ് (bypass) എങ്ങനെ പ്രവർത്തിക്കുന്നു
- Two-phase loading: Diffusers ആദ്യം ഒരു മോഡൽ കോൺഫിഗറേഷൻ എടുക്കുന്നു, തുടർന്ന് രണ്ടാമതൊരു റിക്വസ്റ്റിലൂടെ മോഡൽ വെയ്റ്റുകളും (weights) അതുമായി ബന്ധപ്പെട്ട കോഡുകളും വലിച്ചെടുക്കുന്നു.
- Race condition: ആദ്യത്തെ റിക്വസ്റ്റ് പരിശോധിക്കുന്ന സുരക്ഷാ പരിശോധന രണ്ടാമത്തേതിലേക്ക് വ്യാപിപ്പിക്കുന്നില്ല.
- Payload insertion: രണ്ടാമത്തെ റിക്വസ്റ്റ് നിയന്ത്രിക്കുന്ന ഒരു അറ്റാക്കർക്ക് അതിൽ ദോഷകരമായ കോഡ് ഉൾപ്പെടുത്താൻ സാധിക്കും, ഇത് പിന്നീട് ലൈബ്രറി പ്രവർത്തിപ്പിക്കുകയും സുരക്ഷാ കവാടത്തെ (trust gate) പൂർണ്ണമായും മറികടക്കുകയും ചെയ്യുന്നു.
പരിശോധന ആദ്യത്തെ റിക്വസ്റ്റിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനാൽ, trust_remote_code ഡിസേബിൾ ചെയ്യുന്നത് സുരക്ഷ നൽകുന്നു എന്ന തെറ്റായ തോന്നൽ ഉണ്ടാക്കുന്നു.
ഡെവലപ്പർമാർ ഉടൻ ചെയ്യേണ്ട കാര്യങ്ങൾ
- Diffusers വേർഷൻ പിൻ ചെയ്യുക: സുരക്ഷിതമല്ലാത്ത വേർഷനുകളിലേക്ക് അബദ്ധത്തിൽ അപ്ഗ്രേഡ് ചെയ്യുന്നത് തടയാൻ
requirements.txt-ലോ നിങ്ങളുടെ ലോക്ക് ഫയലിലോ Diffusers വേർഷൻ കൃത്യമായി രേഖപ്പെടുത്തുക. - പ്രൊഡക്ഷനിൽ ഓൺ-ദി-ഫ്ലൈ (on-the-fly) മോഡൽ പുള്ളുകൾ ഒഴിവാക്കുക: മോഡലുകൾ ഒരു വിശ്വസനീയമായ ആർട്ടീഫാക്റ്റ് സ്റ്റോറിലേക്ക് (ഉദാഹരണത്തിന്, ഒരു ഇന്റേണൽ S3 ബക്കറ്റ്) ഡൗൺലോഡ് ചെയ്യുകയും അവിടെ നിന്ന് ലോഡ് ചെയ്യുകയും ചെയ്യുക.
- മോഡൽ റിപ്പോസിറ്ററികൾ ഓഡിറ്റ് ചെയ്യുക: ഉപയോഗിക്കുന്നതിന് മുമ്പ് മോഡലിന്റെ കോഡ് ഫയലുകൾ പ്രതീക്ഷിച്ച ഹാഷുകളുമായി (hashes) പൊരുത്തപ്പെടുന്നുണ്ടോ അല്ലെങ്കിൽ പരിശോധിച്ച ഉറവിടത്തിൽ നിന്നാണോ വരുന്നത് എന്ന് ഉറപ്പുവരുത്തുക.
- നെറ്റ്വർക്ക് എഗ്രസ് കൺട്രോളുകൾ (network egress controls) നടപ്പിലാക്കുക: നിങ്ങൾ അനുവദിക്കാത്ത പക്ഷം ബിൽഡ് ഏജന്റുകൾക്കും ഇൻഫറൻസ് സെർവറുകൾക്കും പബ്ലിക് Hugging Face ഹബ്ബിലേക്ക് പ്രവേശനം ലഭിക്കാത്ത രീതിയിൽ നിയന്ത്രണങ്ങൾ ഏർപ്പെടുത്തുക.
- ഐസൊലേറ്റഡ് കണ്ടെയ്നറുകളിലോ സാൻഡ്ബോക്സുകളിലോ മോഡൽ ലോഡിംഗ് നടത്തുക: കുറഞ്ഞ പ്രിവിലേജുകൾ (minimal privileges) നൽകി മോഡൽ ലോഡ് ചെയ്യുന്നത് വഴി അനാവശ്യ കോഡ് പ്രവർത്തിച്ചാൽ ഉണ്ടാകുന്ന ആഘാതം പരിമിതപ്പെടുത്താം.
ചുരുക്കത്തിൽ:
trust_remote_code ഓഫ് ചെയ്യുന്നത് മാത്രം പോരാ എന്ന് FaceHugger ബഗ് കാണിച്ചുതരുന്നു. നിങ്ങൾ Diffusers അപ്ഡേറ്റ് ചെയ്യുകയും നിങ്ങളുടെ മോഡൽ ഇൻജഷൻ പൈപ്പ്ലൈൻ (model ingestion pipeline) കൂടുതൽ സുരക്ഷിതമാക്കുകയും ചെയ്യുന്നത് വരെ, ഓരോ റിമോട്ട് മോഡൽ പുള്ളും ദോഷകരമായ കോഡുകൾക്ക് പ്രവേശന കവാടമായി തുടരാം.
