Una vulnerabilità presente da 12 anni in polkit ha consentito di ottenere i privilegi di root 

Pochi giorni fa è arrivata la notizia Il team di ricerca di Qualys ha scoperto una vulnerabilità di danneggiamento della memoria in polkit pkexec, un programma SUID root installato per impostazione predefinita su tutte le principali distribuzioni Linux.

Questa vulnerabilità facilmente sfruttabile ha consentito a qualsiasi utente non privilegiato di ottenere i privilegi di root completi su un host vulnerabile sfruttando questa vulnerabilità nella sua configurazione predefinita.

polkit (precedentemente noto come PolicyKit) è un componente per il controllo dei privilegi a livello di sistema su sistemi operativi simili a Unix. Fornisce un modo organizzato per i processi non privilegiati di comunicare con processi privilegiati, inoltre è anche possibile utilizzare polkit per eseguire comandi con privilegi elevati utilizzando il comando pkexec seguito dal comando che deve essere eseguito (con autorizzazione di root).

A proposito di vulnerabilità

Vulnerabilità si trova in pkexec, poi il tuo codice contiene un errore di gestione del puntatore, alcuni dei quali finiscono per fare riferimento ad aree di memoria che non dovrebbero. Sfruttando questo difetto, è possibile ottenere quasi istantaneamente i privilegi di amministratore.

Catalogata come CVE-2021-4034, la vulnerabilità ha ricevuto un punteggio CVSS di 7,8 e il team di Qualys ha spiegato in un post sul blog che:

Il difetto pkexec apre la porta ai privilegi di root per un utente malintenzionato. I ricercatori di Qualys, ha affermato, hanno dimostrato che lo sfruttamento delle installazioni predefinite di Ubuntu, Debian, Fedora e CentOS e anche altre distribuzioni Linux sono ritenute vulnerabili.

“Il successo dello sfruttamento di questa vulnerabilità consente a qualsiasi utente non privilegiato di ottenere i privilegi di root sull'host vulnerabile. I ricercatori sulla sicurezza di Qualys sono stati in grado di verificare in modo indipendente la vulnerabilità, sviluppare un exploit e ottenere i privilegi di root completi sulle installazioni predefinite di Ubuntu, Debian, Fedora e CentOS. Altre distribuzioni Linux sono probabilmente vulnerabili e sfruttabili. Questa vulnerabilità è stata nascosta per più di 12 anni e interessa tutte le versioni di pkexec dalla sua prima versione nel maggio 2009 (confermare c8c3d83, "Aggiungi un comando pkexec(1)").

"Non appena il nostro team di ricerca ha confermato la vulnerabilità, Qualys si è impegnata a divulgare la vulnerabilità in modo responsabile e si è coordinata con i fornitori e le distribuzioni open source per annunciare la vulnerabilità".

Il problema si verifica quando la funzione main() di pkexec elaborare gli argomenti della riga di comando e argc è zero. La funzione tenta comunque di accedere all'elenco degli argomenti e finisce per provare a utilizzare un rgvvoid (ARGument Vector of command line argument strings). Di conseguenza, la memoria viene letta e scritta fuori dai limiti, che un utente malintenzionato può sfruttare per iniettare una variabile di ambiente che può causare il caricamento di codice arbitrario.

Il fatto che queste variabili possano essere reintrodotte rende il codice vulnerabile. Almeno la tecnica di sfruttamento offerta da Qualys (iniettando la variabile GCONV_PATH nell'ambiente pkexec per eseguire una libreria condivisa come root) lascia tracce nei file di registro.

In un avviso di sicurezza, Red Hat ha rilasciato la seguente dichiarazione:

"Red Hat è a conoscenza di una vulnerabilità rilevata in pkexec che consente a un utente autenticato di eseguire un attacco di elevazione dei privilegi".

“Il rischio principale per i clienti è la possibilità per un utente senza privilegi di ottenere privilegi amministrativi sui sistemi interessati. L'attaccante deve avere accesso al sistema di destinazione per eseguire l'attacco."

Vale la pena menzionarlo la vulnerabilità era già stata individuata nel 2013 ed era stato descritto in dettaglio in un post sul blog, anche se non era stato fornito alcun PoC:

"Lol, ho scritto di questa vulnerabilità di polkit nel 2013. Non sono riuscito a trovare un vero percorso di exploit, ma ho identificato la causa principale."

Infine, se sei interessato a saperlo a riguardo, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.