Ranjivosti u Cargo paket menadžeru koji se koristi za Rust projekte

U Cargo paket menadžeru, koji se koristi za upravljanje paketima i izgradnju projekata na Rust jeziku, identifikovane su dvije ranjivosti koje se mogu iskoristiti prilikom preuzimanja posebno dizajniranih paketa iz repozitorijuma trećih strana (navodi se da korisnici službenog crates.io repozitorija nisu pogođeni problemom). Prva ranjivost (CVE-2022-36113) omogućava da se prva dva bajta bilo koje datoteke prebrišu sve dok to dozvoljavaju trenutne dozvole. Druga ranjivost (CVE-2022-36114) se može koristiti za iscrpljivanje prostora na disku.

Ranjivosti će biti ispravljene u izdanju Rusta 1.64, koje je zakazano za 22. septembar. Ranjivosti je dodijeljen nizak nivo ozbiljnosti, jer slična šteta može biti uzrokovana korištenjem neprovjerenih paketa iz repozitorija trećih strana koristeći standardnu ​​mogućnost pokretanja prilagođenih rukovatelja iz skripti za sklapanje ili proceduralnih makroa koji se nalaze u paketu. U isto vrijeme, gore navedeni problemi se razlikuju po tome što se iskorištavaju u fazi otvaranja paketa nakon preuzimanja (bez sklapanja).

Konkretno, nakon preuzimanja paketa, cargo otpakuje njegov sadržaj u ~/.cargo direktorij i pohranjuje znak uspješnog raspakivanja u .cargo-ok fajl. Suština prve ranjivosti je da kreator paketa može unutra postaviti simboličku vezu sa imenom .cargo-ok, što će dovesti do pisanja teksta "ok" u fajl na koji link ukazuje.

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

izvor: opennet.ru

Dodajte komentar