Vulnerabilità Shock su Ubuntu Server: Rischio di Escalation dei Privilegi con Needrestart!
- News
- Visite: 266
Qualys ha recentemente pubblicato un avviso di sicurezza riguardante vulnerabilità di escalation dei privilegi locali nel tool needrestart, integrato di default su Ubuntu Server a partire dalla versione 21.04. Questo strumento, scritto in Perl, verifica se il sistema o alcuni dei suoi servizi necessitano di un riavvio, specialmente dopo operazioni di aggiornamento dei pacchetti che potrebbero coinvolgere librerie condivise superate.
Le vulnerabilità principali identificate
Le vulnerabilità principali identificate sono tre, tutte consentono a un utente locale non privilegiato di eseguire codice arbitrario con permessi di root. La prima vulnerabilità, CVE-2024-48990, sfrutta il modo in cui needrestart gestisce l'interprete Python. Utilizzando una variabile di ambiente PYTHONPATH controllata dall'attaccante, è possibile ingannare needrestart facendogli eseguire codice arbitrario come root. Una vulnerabilità simile, CVE-2024-48992, è stata scoperta per l'interprete Ruby, sfruttando l'ambiente RUBYLIB.
La seconda vulnerabilità, CVE-2024-48991, coinvolge una condizione di gara che permette a un attaccante di sostituire l'interprete Python di sistema con uno falso, ingannando needrestart durante il processo di verifica ed esecuzione dei suoi controlli. Sebbene il problema originario fosse già stato corretto, gli attaccanti possono ancora sfruttare una discrepanza temporale tra la verifica e l'esecuzione effettiva dell'interprete.
Infine, la terza vulnerabilità, CVE-2024-10224, riguarda il modulo ScanDeps di Perl, che needrestart utilizza per analizzare i file Perl. Utilizzando un nome di file manipolato, è possibile eseguire comandi di shell arbitrari, sfruttando una vecchia debolezza di Perl legata alla funzione open(). Un ulteriore CVE, CVE-2024-11003, è stato assegnato per l'uso di ScanDeps con file controllati dagli attaccanti.
Mitigazione
Per mitigare queste vulnerabilità, è consigliato disabilitare la scansione degli interpreti nel file di configurazione di needrestart, impostando $nrconf{interpscan} = 0. Questo impedisce l'esecuzione degli scanner degli interpreti, prevenendo così gli attacchi. Gli aggiornamenti recenti hanno rimosso la dipendenza da ScanDeps, risolvendo così i problemi associati.
Queste vulnerabilità esistono probabilmente da quando il supporto agli interpreti è stato introdotto in needrestart 0.8, nell'aprile 2014. Sebbene gli exploit non siano stati ancora resi pubblici da Qualys, essi sottolineano l'importanza di mantenere i sistemi aggiornati e di monitorare costantemente per eventuali patch di sicurezza.