I manutentori di Sudo hanno annunciato una correzione per una vulnerabilità che avrebbe potuto consentire agli utenti locali di ottenere privilegi di root su sistemi simili a Unix senza alcuna autenticazione. Sudo è un programma UNIX con il quale gli amministratori di sistema possono fornire privilegi di root agli utenti regolari presenti su sudoer mentre tengono traccia delle attività.
Questo sistema funziona con il principio del privilegio minimo, che fornisce agli utenti i requisiti necessari per lavorare senza compromettere la sicurezza del sistema. Tuttavia, quando si eseguono comandi su sistemi simili a Unix, gli utenti con privilegi minimi possono utilizzare il comando <<sudo>> per eseguire comandi come utente root.
Rilevata come CVE-2021-3156, si tratta di una vulnerabilità di escalation di privilegi segnalata inizialmente dalla società di sicurezza Qualys all’inizio del 2021. Secondo il loro rapporto, il problema esiste da un buffer overflow basato su heap che può essere sfruttato da un utente locale senza utilizzare la password di amministratore.
“Questo overflow del buffer viene attivato quando sudo rimuove erroneamente le diagonali investite in qualsiasi argomento”, affermano gli esperti. Il report Qualys specifica anche che sudo di solito sfugge ai caratteri speciali quando un comando viene eseguito tramite shell (sudo -s o sudo -i), tuttavia, era anche possibile eseguire sudoedit con i flag -s o -i, nel qual caso non veniva effettuato l’escape, rendendo possibile un overflow del buffer.
I ricercatori hanno utilizzato tre exploit per CVE-2021-3156 per dimostrare che un attore di minacce può abusare con successo di questa vulnerabilità. Utilizzando questi exploit, i ricercatori sono stati in grado di ottenere i privilegi di root completi su più distribuzioni Linux, tra cui Debian 10, Ubuntu 20.04 e Fedora 33.
La falla sarebbe stata introdotta con la versione di Sudo rilasciata nel 2011, ed è presente nelle impostazioni di default di tutte le versioni stabili dalla 1.9.0 alla 1.9.5p1, oltre a tutte le versioni legacy dalla 1.8.2 alla 1.8.31p2. I collaboratori di Sudo hanno corretto la vulnerabilità nella versione sudo 1.9.5p2 rilasciata ieri, mentre Qualys ha rivelato pubblicamente i suoi risultati.
Per verificare se il tuo sistema è vulnerabile, devi accedere come utente non root ed eseguire il comando “sudoedit -s /”. I sistemi vulnerabili genereranno un errore che inizia con “sudoedit:” mentre le patch visualizzeranno un errore che inizierà con “usage:”. Nel qual caso, consigliamo l’immediato aggiornamento del pacchetto, ormai presente nella versione aggiornata su tutti i repository.