Rust projektiem izmantotā Cargo pakotņu pārvaldnieka ievainojamības

Cargo pakotņu pārvaldniekā, kas tiek izmantots pakotņu pārvaldībai un projektu veidošanai Rust valodā, ir konstatētas divas ievainojamības, kuras var izmantot, lejupielādējot īpaši izstrādātas pakotnes no trešo pušu krātuvēm (tiek norādīts, ka oficiālā crates.io repozitorija lietotāji problēma neietekmē). Pirmā ievainojamība (CVE-2022-36113) ļauj pārrakstīt jebkura faila pirmos divus baitus, ja vien to atļauj pašreizējās atļaujas. Otro ievainojamību (CVE-2022-36114) var izmantot, lai iztukšotu vietu diskā.

Ievainojamības tiks novērstas Rust 1.64 izlaidumā, kas paredzēts 22. septembrī. Ievainojamībām ir piešķirts zems smaguma līmenis, jo līdzīgu kaitējumu, izmantojot nepārbaudītas pakotnes no trešo pušu krātuvēm, var izraisīt standarta iespēja palaist pielāgotus apdarinātājus no komplektā iekļautajiem montāžas skriptiem vai procedūru makro. Tajā pašā laikā iepriekš minētās problēmas atšķiras ar to, ka tās tiek izmantotas iepakojuma atvēršanas stadijā pēc lejupielādes (bez montāžas).

Konkrēti, pēc pakotnes lejupielādes krava izsaiņo tās saturu direktorijā ~/.cargo un saglabā veiksmīgas izpakošanas zīmi failā .cargo-ok. Pirmās ievainojamības būtība ir tāda, ka pakotnes veidotājs var ievietot tajā simbolisku saiti ar nosaukumu .cargo-ok, kas novedīs pie teksta "ok" rakstīšanas failā, uz kuru norāda saite.

Otro ievainojamību izraisa no arhīva izvilkto datu apjoma ierobežojuma trūkums, ko var izmantot, lai izveidotu “zip bumbas” (arhīvā var būt dati, kas ļauj sasniegt maksimālo saspiešanas pakāpi zip formātam - apm. 28 miljonus reižu, šajā gadījumā, piemēram, īpaši sagatavots 10 MB zip fails radīs aptuveni 281 TB datu dekompresiju).

Avots: opennet.ru

Pievieno komentāru