Tri propusta u Diffusers biblioteci ugrozila AI lanac snabdevanja

U biblioteci Hugging Face Diffusers otkrivena su tri bezbednosna propusta visoke ozbiljnosti — CVE-2026-44827, CVE-2026-45804 i CVE-2026-44513 — koji su posebno pripremljenim repozitorijumima omogućavali proizvoljno izvršavanje koda na računarima koji učitavaju modele. Dva propusta imaju CVSS ocenu 8,8, treći 7,5, a ispravke su objavljene u verziji Diffusers 0.38.0 početkom maja 2026.
Kako je zaobiđena bezbednosna provera
Zafran Labs je skup propusta nazvao FaceHugger. Oni zaobilaze parametar trust_remote_code, namenjen sprečavanju pokretanja nepregledanog Python koda iz prilagođenih pipelineova. Kada je parametar postavljen na True, izvršavanje udaljenog koda je dozvoljeno; vrednost False, kao i izostavljanje parametra, trebalo bi da ga blokira.
Problem nastaje zato što se provera poverenja obavlja samo u prvoj fazi učitavanja. Preuzimanje modela koristi dva uzastopna, neatomska HTTP zahteva — hf_hub_download i snapshot_download — pa sadržaj koji loader proveri ne mora biti isti kao sadržaj koji kasnije upotrebi. Sve tri varijante zato pripadaju obrascu Time-of-Check to Time-of-Use, odnosno TOCTOU.
Ovaj slučaj dopunjuje širi kontekst rizika u kojem je napad agenta OpenAI na Hugging Face pokazao da Hugging Face može postati meta tokom automatizovanih AI operacija, dok FaceHugger demonstrira kako i samo učitavanje modela može otvoriti put izvršavanju koda u poslovnom okruženju.
Šta obuhvataju tri ranjivosti
- CVE-2026-44827 omogućava učitavanje proizvoljnog koda kroz custom_pipeline tok pomoću posebno izrađenog pipelinea nazvanog „None.py“, čak i kada je trust_remote_code=False ili nije naveden.
- CVE-2026-45804 koristi trku između dva zahteva: promena konfiguracije između hf_hub_download i snapshot_download poziva može dovesti do izvršavanja ubačenog koda.
- CVE-2026-44513 takođe omogućava ubacivanje koda kroz custom_pipeline tok uprkos isključenoj ili izostavljenoj dozvoli za udaljeni kod.
Izloženi su korisnici koji pozivaju DiffusionPipeline.from_pretrained sa prilagođenim pipelineovima. Poslovni značaj je veliki jer se Diffusers ugrađuje u produkcione tokove, CI/CD sisteme i kontejnerske slike, a paket je samo tokom jula 2026. preuzet više od 8,1 milion puta.
Koraci za smanjenje rizika
Preporučeni potez je nadogradnja na Diffusers 0.38.0. Ako hitna zakrpa nije moguća, from_pretrained treba koristiti samo sa proverenim i pregledanim izvorima za pretrained_model_name_or_path, custom_pipeline i lokalne snapshot direktorijume.
Custom_pipeline ne treba usmeravati ka drugom Hub repozitorijumu pre pregleda njegove datoteke pipeline.py. Pre učitavanja lokalnog snimka potrebno je pregledati neočekivane Python datoteke, posebno u korenu i direktorijumima komponenti kao što su unet i scheduler.
Praktičan zaključak za kompanije jeste da repozitorijume AI modela ne tretiraju kao pasivne skupove podataka. Konfiguracije, loaderi i prilagođeni pipeline kod mogu postati izvršni sadržaj, pa nadogradnja biblioteke, revizija izvora i kontrola datoteka treba da budu sastavni deo upravljanja AI lancem snabdevanja.

