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

În managerul de pachete Cargo, utilizat pentru gestionarea pachetelor și compilarea proiectelor în limbajul Rust, au fost identificate două vulnerabilități care pot fi exploatate prin descărcarea pachetelor formatate special din depozite terțe (se afirmă că utilizatorii depozitului oficial crates.io nu sunt afectați de problemă). Prima vulnerabilitate (CVE-2022-36113) permite scrierea primelor două octeți din orice fișier, în măsura în care permit permisiunile actuale. A doua vulnerabilitate (CVE-2022-36114) poate fi utilizată pentru a epuiza spațiul liber pe disc.

Vulnerabilitățile vor fi corectate în versiunea Rust 1.64, programată pentru 22 septembrie. Aceste vulnerabilități au fost clasificate cu un nivel de risc scăzut, deoarece o daună similară poate fi cauzată prin utilizarea pachetelor neverificate din depozite terțe, prin intermediul funcționalității standard de a rula propriile manipulatoare din scripturile de construcție furnizate în pachet sau din macrocomenzile procedurale. Cu toate acestea, problemele menționate mai sus se deosebesc prin faptul că exploatarea lor se realizează în etapa de desfășurare a pachetului după descărcare (fără construcție).

În special, după descărcarea pachetului, cargo dezarhivează conținutul acestuia în directorul ~/.cargo și salvează indicatorul de decompresie reușită într-un fișier .cargo-ok. Substanța primei vulnerabilități este că creatorul pachetului poate plasa în interior un link simbolic cu numele .cargo-ok, ceea ce va duce la scrierea textului „ok” în fișierul către care face referire linkul.

A doua vulnerabilitate este cauzată de absența unei restricții asupra dimensiunii datelor extrase din arhivă, ceea ce poate fi folosit pentru a crea „bombe zip” (arhiva poate conține date care permit atingerea unei rate maxime de compresie pentru formatul zip - aproximativ 28 milioane de ori, în acest caz, de exemplu, un fișier zip pregătit special de 10 MB va duce la extragerea a aproximativ 281 TB de date).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster