Sårbarheter i lastpakethanteraren som används för Rust-projekt

I Cargo-pakethanteraren, som används för att hantera paket och bygga projekt på språket Rust, har två sårbarheter identifierats som kan utnyttjas vid nedladdning av specialdesignade paket från tredjepartsförvar (det anges att användare av det officiella crates.io-förrådet inte påverkas av problemet). Den första sårbarheten (CVE-2022-36113) gör att de två första byten av vilken fil som helst kan skrivas över så länge som nuvarande behörigheter tillåter. Den andra sårbarheten (CVE-2022-36114) kan användas för att tömma diskutrymme.

Sårbarheterna kommer att åtgärdas i releasen av Rust 1.64, planerad till den 22 september. Sårbarheterna tilldelas en låg svårighetsgrad, eftersom liknande skada vid användning av overifierade paket från tredjepartsförråd kan orsakas med standardmöjligheten att starta anpassade hanterare från assemblerskript eller procedurmakron som tillhandahålls i paketet. Samtidigt skiljer sig de ovan nämnda problemen genom att de utnyttjas vid öppning av paketet efter nedladdning (utan montering).

Speciellt efter att ha laddat ner ett paket packar cargo upp dess innehåll i ~/.cargo-katalogen och lagrar ett tecken på lyckad uppackning i .cargo-ok-filen. Kärnan i den första sårbarheten är att skaparen av paketet kan placera en symbolisk länk inuti med namnet .cargo-ok, vilket kommer att leda till att texten "ok" skrivs till filen som länken pekar på.

Den andra sårbarheten orsakas av avsaknaden av en gräns för storleken på data som extraheras från arkivet, som kan användas för att skapa "zip-bomber" (arkivet kan innehålla data som gör det möjligt att uppnå det maximala kompressionsförhållandet för zip-formatet - ca. 28 miljoner gånger, i det här fallet, till exempel, kommer en speciellt förberedd 10 MB zip-fil att resultera i dekomprimering av cirka 281 TB data).

Källa: opennet.ru

Lägg en kommentar