U upravitelju paketa Cargo, koji se koristi za upravljanje paketima i izgradnju projekata na jeziku Rust, otkrivene su dvije ranjivosti koje se mogu iskoristiti prilikom preuzimanja posebno oblikovanih paketa iz vanjskih repozitorija (tvrdnje su da korisnike službenog repozitorija crates.io ova problema nisu pogodila). Prva ranjivost (CVE-2022-36113) omogućava prepisivanje prva dva bajta u bilo kojoj datoteci, koliko dopuštaju trenutna prava pristupa. Druga ranjivost (CVE-2022-36114) može se koristiti za iscrpljivanje slobodnog prostora na disku.
Ranjivosti će biti ispravljene u izdanju Rust 1.64, planiranom za 22. rujna. Ranjivostima je dodijeljena niska razina opasnosti, budući da sličnu štetu prilikom korištenja neprovjerenih paketa iz vanjskih repozitorija može uzrokovati i standardna mogućnost pokretanja vlastitih handlera iz priloženih u paketu skripti za izgradnju ili proceduronalnih makroa. Međutim, spomenuti problemi se razlikuju po tome što se njihovo iskorištavanje događa u fazi otkrivanja paketa nakon preuzimanja (bez izgradnje).
Naime, nakon preuzimanja paketa, cargo raspakira njegov sadržaj u direktorij ~/.cargo i zabilježi oznaku uspješne raspakiranja u datoteku .cargo-ok. Suština prve ranjivosti je u tome što kreator paketa može postaviti unutar simbolsku vezu pod imenom .cargo-ok, što će dovesti do upisa teksta 'ok' u datoteku na koju ta veza upućuje.
Druga ranjivost uzrokovana je nedostatkom ograničenja na veličinu podataka koja se izvlače iz arhiva, što se može iskoristiti za stvaranje 'zip-bomb' (u arhivu se mogu staviti podaci koji omogućuju postizanje maksimalne stepenice kompresije za zip format — oko 28 milijuna puta; u tom slučaju, posebno pripremljena zip datoteka veličine 10 MB dovest će do raspakiranja oko 281 TB podataka).
Izvor: opennet.ru
