Vulnerabilità nel gestore di pacchetti Cargo, utilizzato per progetti in linguaggio Rust

Nel gestore di pacchetti Cargo, utilizzato per la gestione dei pacchetti e la compilazione di progetti in linguaggio Rust, sono state scoperte due vulnerabilità che possono essere sfruttate caricando pacchetti specificamente creati da repository esterni (si sostiene che gli utenti del repository ufficiale crates.io non siano stati colpiti dal problema). La prima vulnerabilità (CVE-2022-36113) consente di sovrascrivere i primi due byte di qualsiasi file, a seconda dei permessi di accesso attuali. La seconda vulnerabilità (CVE-2022-36114) può essere utilizzata per esaurire lo spazio disponibile su disco.

Le vulnerabilità saranno corrette nella versione Rust 1.64, prevista per il 22 settembre. È stato attribuito un basso livello di gravità a queste vulnerabilità, poiché un danno simile derivante dall'uso di pacchetti non verificati da repository esterni può essere causato mediante la funzione integrata che consente di eseguire i propri gestori da script di build o macro procedurali forniti nel pacchetto. Tuttavia, i problemi sopra menzionati si differenziano per il fatto che il loro sfruttamento avviene nella fase di apertura del pacchetto dopo il download (senza compilazione).

In particolare, dopo il download di un pacchetto, Cargo estrae il suo contenuto nella cartella ~/ .cargo e salva l'indicatore di successo dell'estrazione nel file .cargo-ok. La sostanza della prima vulnerabilità è che il creatore del pacchetto può posizionare all'interno un collegamento simbolico chiamato .cargo-ok, il che porterà alla scrittura del testo «ok» nel file a cui punta il collegamento.

La seconda vulnerabilità è causata dall'assenza di un limite alla dimensione dei dati estratti dall'archivio, il che può essere utilizzato per creare «zip bomb» (all'interno dell'archivio possono essere collocati dati che possono raggiungere il massimo grado di compressione consentito dal formato zip — circa 28 milioni di volte; in questo caso, ad esempio, un file zip appositamente preparato di 10 MB porterà all'estrazione di circa 281 TB di dati).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster