Chyby v správcovi balíkov Cargo používaného pre projekty Rust

V správcovi balíkov Cargo, ktorý sa používa na správu balíkov a vytváranie projektov v jazyku Rust, boli identifikované dve zraniteľnosti, ktoré možno zneužiť pri sťahovaní špeciálne navrhnutých balíkov z repozitárov tretích strán (údajne užívatelia oficiálnych prepraviek. io repository neboli týmto problémom ovplyvnené). Prvá chyba zabezpečenia (CVE-2022-36113) umožňuje prepísanie prvých dvoch bajtov v ľubovoľnom súbore, pokiaľ to umožňujú aktuálne povolenia. Druhá chyba zabezpečenia (CVE-2022-36114) sa dá zneužiť na vyčerpanie voľného miesta na disku.

Chyby zabezpečenia budú opravené vo vydaní Rust 1.64, ktoré je naplánované na 22. septembra. Zraniteľnostiam je priradená nízka úroveň závažnosti, pretože podobné poškodenie pri používaní neoverených balíkov z úložísk tretích strán môže spôsobiť štandardná schopnosť spúšťať ich obslužné programy zo zostavovacích skriptov alebo procedurálnych makier dodaných v balíku. Vyššie uvedené problémy sa zároveň líšia v tom, že ich činnosť sa vykonáva vo fáze otvárania obalu po naložení (bez montáže).

Najmä po naložení balíka cargo rozbalí svoj obsah do adresára ~/.cargo a uloží označenie úspešného rozbalenia do súboru .cargo-ok. Podstatou prvej zraniteľnosti je, že tvorca balíka môže dovnútra umiestniť symbolický odkaz s názvom .cargo-ok, ktorý povedie k napísaniu textu „ok“ do súboru, na ktorý odkaz odkazuje.

Druhá zraniteľnosť je spôsobená chýbajúcim obmedzením veľkosti dát extrahovaných z archívu, ktoré možno použiť na vytvorenie „zip bomb“ (dáta je možné umiestniť do archívu, aby sa dosiahol maximálny kompresný pomer pre formát zip – asi 28 miliónov krát, v tomto prípade napríklad špeciálne pripravený 10 MB zip súbor rozbalí asi 281 TB dát).

Zdroj: opennet.ru

Pridať komentár