Två sårbarheter har identifierats i pakethanteraren Cargo, som används för att hantera paket och bygga Rust-projekt. De kan utnyttjas genom att ladda ner specialskapade paket från tredjepartsarkiv (problemet sägs inte ha påverkat användare av det officiella crates.io-arkivet). Den första sårbarheten (CVE-2022-36113) tillåter att de två första bytena i en fil skrivs över, i den mån de nuvarande åtkomsträttigheterna tillåter. Den andra sårbarheten (CVE-2022-36114) kan användas för att förbruka ledigt diskutrymme.
Sårbarheterna kommer att åtgärdas i utgåvan av Rust 1.64, som är planerad till den 22 september. Sårbarheterna tilldelas en låg allvarlighetsgrad, eftersom liknande skador vid användning av overifierade paket från tredjepartsförråd kan orsakas av standardmöjligheten att starta dina hanterare från paketets byggskript eller procedurmakron. Samtidigt skiljer sig de ovan nämnda problemen genom att de utnyttjas i skedet av expansionen av paketet efter laddning (utan att bygga).
Speciellt efter att paketet har laddats packar Cargo upp innehållet i katalogen ~/.cargo och sparar en flagga för lyckad uppackning i filen .cargo-ok. Kärnan i den första sårbarheten är att skaparen av paketet kan placera en symbolisk länk med namnet .cargo-ok inuti, vilket resulterar i 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, vilket kan användas för att skapa "zip-bomber" (arkivet kan innehålla data som gör det möjligt att uppnå maximal komprimeringsgrad för zip-formatet - cirka 28 miljoner gånger, i det här fallet kommer till exempel en specialförberedd zip-fil på 10 MB att leda till att cirka 281 TB data packas upp).
Källa: opennet.ru
