More

    Kritična PyTorch ranjivost omogućava napadačima da izvrše daljinski kod

    Kritična ranjivost u PyTorch-u koja omogućava napadačima daljinski izvršavanje malicioznog koda , čak i kada koriste zaštitne mjere za koje se ranije smatralo da ublažavaju takve rizike. 

    Ranjivost, identifikovana kao CVE-2025-32434, utiče na sve verzije PyTorcha do i uključujući 2.5.1 i zakrpljena je u nedavno objavljenoj verziji 2.6.0.

    Pregled PyTorch ranjivosti

    Sigurnosna greška, koju je otkrio istraživač Ji’an Zhou, uključuje PyTorch-ovu funkciju torch.load kada se koristi sa parametrom weights_only=True. 

    Ova posebna kombinacija je prethodno dokumentovana i široko preporučena kao siguran pristup za učitavanje modela iz nepouzdanih izvora.

    “Pronašao sam ranjivost Remote Command Execution (RCE) u PyTorchu. Prilikom učitavanja modela koristeći torch.load sa weights_only=True, još uvijek može postići RCE”, naveo je Zhou u službenom izvještaju o ranjivosti .

    Ranjivost je u suprotnosti s prethodnim PyTorch-ovim sigurnosnim smjernicama, koje su eksplicitno navele u njihovoj službenoj dokumentaciji: “koristi Python-ove mogućnosti depicklinga, ali posebno tretira skladište koja su u osnovi tenzora” i preporučuje korištenje weights_only=True kao sigurnosne mjere.

    Tipičan ranjivi isječak koda može izgledati ovako:

    Faktori rizikaDetalji
    Pogođeni proizvodiPyTorch (verzije ≤2.5.1), posebno kada koristite torch.load sa weights_only=True
    UticajRemote Code Execution (RCE) putem deserializacije nepouzdanih podataka
    Preduvjeti za eksploatacijuNapadač mora dostaviti datoteku zlonamjernog modela koju učitava torch.load(weights_only=True); nema interakcije korisnika.
    CVSS 3.1 Score9.3 (kritično)

    Ovo otkriće je posebno zabrinjavajuće jer su mnoge organizacije i programeri implementirali parametar weights_only=True posebno kao sigurnosnu mjeru predostrožnosti. 

    PyTorch dokumentacija upozorava korisnike na opasnosti korištenja torch.load bez ovog parametra od verzije 2.4.

    “Podrazumevano, torch.load koristi weights_only=False koji koristi modul pickle koji obezbeđuje Python . Ovo je inherentno nesigurno jer modul pickle može uvesti i izvršiti proizvoljan kod”, navodi se u službenoj dokumentaciji PyTorcha.

    Ranjivost omogućava napadačima da naprave maliciozne datoteke modela koje, kada se učitaju, mogu izvršiti proizvoljan kod na sistemu žrtve, što potencijalno dovodi do potpunog kompromitovanja sistema. 

    Ovo je posebno opasno za cjevovode strojnog učenja koji automatski preuzimaju i učitavaju modele iz vanjskih izvora ili kolaborativnih okruženja.

    Koraci ublažavanja

    Korisnicima se preporučuje da odmah ažuriraju na PyTorch verziju 2.6.0 ili noviju. Ako trenutno ažuriranje nije moguće, izbjegavajte korištenje funkcije torch.load sa weights_only=True kao privremenu mjeru za smanjenje rizika.

    Alternativna ublažavanja uključuju:

    • Korištenje sigurnijih alternativa poput safetensors.torch.load_model.
    • Implementacija dodatne validacije prije učitavanja bilo kojeg modela.
    • Učitavanje samo modela iz pouzdanih, provjerenih izvora.

    PyTorch tim je planirao napraviti weights_only=True kao zadanu postavku u verziji 2.6.0 čak i prije nego što je ova ranjivost otkrivena, kao dio tekućih sigurnosnih poboljšanja.

    Incident služi kao podsjetnik da čak i sigurnosne značajke mogu imati neočekivane ranjivosti, a održavanje ažuriranih ovisnosti i dalje je ključno za organizacije koje rade s modelima strojnog učenja , posebno one u proizvodnim okruženjima ili obrađuju osjetljive podatke.

    Izvor: CyberSecurityNews

    Recent Articles

    spot_img

    Related Stories