Rusti projektide jaoks kasutatava Cargo paketihalduri haavatavused

Rust-keeles pakettide haldamiseks ja projektide koostamiseks kasutatavas Cargo paketihalduris on tuvastatud kaks turvaauku, mida saab ära kasutada spetsiaalselt loodud pakettide allalaadimisel kolmandate osapoolte hoidlatest (väidetakse, et ametliku crates.io hoidla kasutajad neid probleem ei mõjuta). Esimene haavatavus (CVE-2022-36113) võimaldab mis tahes faili esimesed kaks baiti üle kirjutada seni, kuni kehtivad õigused seda võimaldavad. Teist haavatavust (CVE-2022-36114) saab kasutada kettaruumi tühjendamiseks.

Turvaaugud parandatakse Rust 1.64 väljalaskes, mis on kavandatud 22. septembriks. Haavatavustele on määratud madal raskusaste, kuna samasugust kahju võib põhjustada ka kolmandate osapoolte hoidlatest pärit kontrollimata pakettide kasutamine, kasutades standardset võimalust käivitada kohandatud töötlejad paketis sisalduvate montaažiskriptide või protseduuriliste makrode põhjal. Samas erinevad ülalmainitud probleemid selle poolest, et neid kasutatakse ära pakendi avamise etapis pärast allalaadimist (koostamata).

Eelkõige pakib cargo pärast paketi allalaadimist selle sisu lahti ~/.cargo kataloogi ja salvestab eduka lahtipakkimise märgi faili .cargo-ok. Esimese haavatavuse olemus seisneb selles, et paketi looja saab sisse panna sümboolse lingi nimega .cargo-ok, mis viib lingi poolt osutatavasse faili teksti “ok” kirjutamiseni.

Teise haavatavuse põhjustab piirangu puudumine arhiivist eraldatud andmete suurusele, mida saab kasutada "tõmbpommide" loomiseks (arhiiv võib sisaldada andmeid, mis võimaldavad saavutada ZIP-vormingus maksimaalse tihendusastme - umbes 28 miljonit korda, antud juhul näiteks põhjustab spetsiaalselt ettevalmistatud 10 MB zip-fail umbes 281 TB andmete lahtipakkimise).

Allikas: opennet.ru

Lisa kommentaar