Vulnerabilități în managerul de pachete Cargo utilizat pentru proiectele Rust

Au fost identificate două vulnerabilități în managerul de pachete Cargo, care este folosit pentru a gestiona pachete și pentru a construi proiecte în limba Rust, care pot fi exploatate la descărcarea pachetelor special concepute din depozite terțe (se presupune că utilizatorii cutiilor oficiale. io nu au fost afectate de problemă). Prima vulnerabilitate (CVE-2022-36113) permite suprascrierea primilor doi octeți din orice fișier, atâta timp cât permisiunile actuale permit. A doua vulnerabilitate (CVE-2022-36114) poate fi exploatată pentru a epuiza spațiul liber pe disc.

Vulnerabilitățile vor fi remediate în lansarea Rust 1.64, programată pentru 22 septembrie. Vulnerabilităților li se atribuie un nivel scăzut de severitate, deoarece daune similare atunci când se utilizează pachete neverificate din depozite terțe pot fi cauzate de capacitatea standard de a-și rula handlerele din scripturile de compilare sau macrocomenzile procedurale furnizate în pachet. În același timp, problemele de mai sus diferă prin faptul că funcționarea lor se realizează în etapa de deschidere a pachetului după încărcare (fără asamblare).

În special, după încărcarea unui pachet, cargo își despachetează conținutul în directorul ~/.cargo și salvează un semn de despachetare cu succes în fișierul .cargo-ok. Esența primei vulnerabilități este că creatorul pachetului poate plasa în interior o legătură simbolică cu numele .cargo-ok, ceea ce va duce la scrierea textului „ok” în fișierul indicat de link.

A doua vulnerabilitate este cauzată de lipsa unei limite a dimensiunii datelor extrase din arhivă, care poate fi folosită pentru a crea „zip bombs” (datele pot fi plasate în arhivă pentru a atinge raportul maxim de compresie pentru formatul zip - de aproximativ 28 de milioane de ori, în acest caz, de exemplu, un fișier zip de 10 MB pregătit special va despacheta aproximativ 281 TB de date).

Sursa: opennet.ru

Adauga un comentariu