È stata individuata una vulnerabilità di sicurezza critica (valutata con un punteggio di 10.0 su 10 nella scala di gravità CVSS) nella libreria standard Rust, creando una potenziale minaccia per i sistemi basati su Windows.
Indice degli argomenti
I dettagli della vulnerabilità nella libreria Rust
Identificata come CVE-2024-24576, questa falla apre la strada all’esecuzione di codice arbitrario, consentendo agli aggressori di assumere il controllo non autorizzato dei sistemi.
Il difetto risiede nella gestione degli argomenti passati all’API dei comandi di Windows per richiamare file batch (.bat e .cmd). Una debolezza nel meccanismo di fuga della libreria espone un’opportunità per gli utenti malintenzionati di inserire comandi shell dannosi, bypassando potenzialmente le misure di sicurezza e provocando conseguenze disastrose. Il problema è quindi localizzato nel costrutto “Command”.
Particolarmente problematica su Windows, questa vulnerabilità è accentuata dall’approccio unico della piattaforma alla gestione degli argomenti dei comandi.
A differenza di altre piattaforme che trattano gli argomenti come un array, Windows li fonde in una singola stringa, delegando la responsabilità della separazione agli processi riceventi.
Questo aspetto introduce complessità, specialmente con cmd.exe, il gestore predefinito per i file batch, che utilizza la sua logica personalizzata per la suddivisione degli argomenti.
Gli sviluppatori Rust che creano applicazioni che richiamano file batch su sistemi Windows sono particolarmente esposti a questa vulnerabilità, soprattutto se trattano input non attendibili.
Tuttavia, gli sviluppatori che operano su altre piattaforme come Linux e MacOS non sono interessati.
Il Rust Security Response Working Group ha classificato questa vulnerabilità come critica, data la sua potenziale portata. Un attacco riuscito potrebbe consentire agli aggressori di eseguire codice arbitrario, installare malware, rubare dati sensibili e lanciare ulteriori attacchi alla rete.
Mitigare il rischio e mettere in sicurezza i sistemi Windows
Fortunatamente, è stata sviluppata una patch e sarà inclusa nella prossima versione di Rust 1.77.2. Questo aggiornamento introduce un’escape più efficace e un meccanismo di errore per impedire il passaggio di argomenti non sicuri ai file batch.
Gli sviluppatori Rust basati su Windows sono fortemente incoraggiati ad aggiornare alla versione 1.77.2 non appena disponibile.
Inoltre, è consigliabile rivedere attentamente il codice delle proprie applicazioni per assicurarsi di non passare input non attendibili come argomenti e praticare una solida sanificazione degli stessi per ridurre al minimo il rischio di attacchi di iniezione, anche con la versione Rust con patch.