Vulnerabilità critica in Rust: attacchi di iniezione di comandi su Windows

da Livio Varriale
0 commenti 2 minuti leggi
Rust

Una grave vulnerabilità, identificata come CVE-2024-24576, è stata scoperta nella libreria standard di Rust, potenzialmente consentendo agli aggressori di eseguire attacchi di iniezione di comandi su sistemi Windows. La vulnerabilità risiede nel modo in cui Rust gestisce l’escape degli argomenti quando invoca file batch (.bat e .cmd) tramite l’API Command. Gli attaccanti che controllano gli argomenti passati al processo possono eludere l’escaping e eseguire comandi shell arbitrari.

La gravità di questa vulnerabilità è considerata critica per chi utilizza file batch su Windows con argomenti non attendibili. Non si riscontrano impatti su altre piattaforme o utilizzi.

Affrontare la Complessità di cmd.exe

Data la complessità di cmd.exe, il team di sicurezza di Rust non è riuscito a trovare una soluzione che garantisse un’escape corretta degli argomenti in ogni scenario. Di conseguenza, il codice di escaping è stato migliorato, e l’API Command è stata modificata per restituire un errore InvalidInput nel caso in cui non sia possibile effettuare un’escape sicura di un argomento. Questo errore si verifica all’avvio del processo.

Tutte le versioni di Rust precedenti alla 1.77.2 su Windows sono influenzate se il codice di un programma o una delle sue dipendenze esegue file batch con argomenti non attendibili. Le altre piattaforme o altri utilizzi su Windows non sono colpiti.

Annunci

Misure di Mitigazione

Per chi implementa personalmente l’escape degli argomenti o gestisce solo input attendibili su Windows, è possibile utilizzare il metodo CommandExt::raw_arg per aggirare la logica di escaping della libreria standard.

L’aggiornamento che risolve la vulnerabilità di iniezione comandi su Windows è incluso in Rust 1.77.2, rilasciato recentemente. È fondamentale per gli sviluppatori che utilizzano Rust su Windows aggiornare alla versione più recente per proteggersi da potenziali exploit derivanti da questa vulnerabilità.

Questa scoperta evidenzia l’importanza della sicurezza nelle librerie di programmazione e dell’adozione di pratiche di codifica sicure, specialmente in contesti in cui gli argomenti dei processi possono essere controllati da entità esterne.

Si può anche come

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies

Developed with love by Giuseppe Ferrara