Ranjivosti u upravitelju paketa Cargo koji se koristi za Rust projekte

U upravitelju paketa Cargo, koji se koristi za upravljanje paketima i izradu projekata u jeziku Rust, identificirane su dvije ranjivosti koje se mogu iskoristiti prilikom preuzimanja posebno dizajniranih paketa iz repozitorija trećih strana (navedeno je da korisnici službenog repozitorija crates.io nisu zahvaćeni problemom). Prva ranjivost (CVE-2022-36113) dopušta da se prva dva bajta bilo koje datoteke prebrišu sve dok to trenutna dopuštenja dopuštaju. Druga ranjivost (CVE-2022-36114) može se koristiti za iscrpljivanje prostora na disku.

Ranjivosti će biti popravljene u izdanju Rust 1.64, zakazanom za 22. rujna. Ranjivostima je dodijeljena niska razina ozbiljnosti, budući da se slična šteta može prouzročiti korištenjem neprovjerenih paketa iz repozitorija trećih strana korištenjem standardne mogućnosti pokretanja prilagođenih rukovatelja iz asemblerskih skripti ili proceduralnih makronaredbi isporučenih u paketu. Istodobno, gore navedeni problemi razlikuju se po tome što se iskorištavaju u fazi otvaranja paketa nakon preuzimanja (bez montaže).

Konkretno, nakon preuzimanja paketa, cargo raspakira njegov sadržaj u direktorij ~/.cargo i pohranjuje znak uspješnog raspakiranja u datoteku .cargo-ok. Bit prve ranjivosti je da kreator paketa može unutra postaviti simboličku poveznicu s nazivom .cargo-ok, što će dovesti do upisivanja teksta “ok” u datoteku na koju upućuje poveznica.

Druga je ranjivost uzrokovana nedostatkom ograničenja veličine podataka izvađenih iz arhive, koji se mogu koristiti za stvaranje "zip bombi" (arhiva može sadržavati podatke koji omogućuju postizanje maksimalnog omjera kompresije za zip format - oko 28 milijuna puta, u ovom slučaju, na primjer, posebno pripremljena zip datoteka od 10 MB rezultirat će dekompresijom približno 281 TB podataka).

Izvor: opennet.ru

Dodajte komentar