Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Nimbuspwn: il bug Linux che consente agli utenti di diventare root

Redazione RHC : 27 Aprile 2022 14:36

  

Uno specialista Microsoft ha scoperto delle vulnerabilità nei sistemi Linux, il cui sfruttamento consente di ottenere rapidamente i diritti di superutente.

In totale sono state scoperte 2 vulnerabilità (CVE-2022-29799 e CVE-2022-29800), le quali sono unite con il nome Nimbuspwn

Sono stati riscontrati problemi nel componente networkd-dispatcher di molte distribuzioni Linux. Tale componente invia le modifiche sullo stato della rete e può eseguire vari script. Quando il sistema operativo viene avviato, networkd-dispatcher si avvia con i diritti di superutente.

La figura 5 mostra un diagramma di flusso dell'attacco in 3 fasi.  I primi 3 passaggi sono illustrati nell'immagine in alto, mostrando i passaggi iniziali dell'attaccante.  Il 4° passaggio è rappresentato nell'immagine centrale, che mostra come Networkd-Dispatcher elabora le modifiche dell'attaccante.  I passaggi 5 e 6 sono illustrati nell'immagine finale, mostrando come l'attaccante abusa del difetto delle condizioni di gara TOCTOU in modo che il dispatcher alla fine consenta l'exploit di Nimbuspwn.
Diagramma di flusso dell’attacco in tre fasi (fonte Microsoft)

Le vulnerabilità, combinando un directory traversal, porta al collegamento simbolico e l’errore TOCTOU (time-of-check-time-of-use). Dopo aver esaminato il codice sorgente di Networkd-Dispatcher, il ricercatore Microsoft Jonathan Bar Or ha notato che il componente “run_hooks_for_state” implementa la seguente logica:

  • Trova l’elenco degli script disponibili chiamando il metodo get_script_list() per chiamare a sua volta il metodo scripts_in_path() per restituire tutti i file archiviati nella directory “/etc/networkd-dispatcher/.d”;
  • A questo punto viene ordinato l’elenco degli script;
  • Si esegue ogni script con il processo subprocess.Popen, il quale fornisce variabili di ambiente personalizzate.

Run_hooks_for_state espone i sistemi Linux alla vulnerabilità di directory traversal (CVE-2022-29799) perché nessuna delle funzioni che utilizza ripulisce correttamente gli stati utilizzati per creare il percorso di script corretto da input dannosi

Difetti dell'escalation dei privilegi in Linux
Exploit implementato su TOCTOU (Fonte Microsoft)

In questo modo, gli hacker possono utilizzare la vulnerabilità per uscire dalla directory “/etc/networkd-dispatcher”.

Run-hooks_for_state contiene anche una vulnerabilità (CVE-2022-29800) che rende i sistemi vulnerabili a una condizione di competizione time-of-check to time-of-use TOCTOU poiché trascorre una certa quantità di tempo tra il rilevamento degli script e l’esecuzione degli stessi. 

Un utente malintenzionato potrebbe sfruttare questa vulnerabilità per sostituire gli script che Networkd-Dispatcher che appartengano all’utente root.

Il ricercatore ha anche trovato diversi processi in esecuzione come utente della rete systemd, a cui è consentito utilizzare il nome del bus necessario per eseguire codice arbitrario da posizioni scrivibili. 

I processi vulnerabili includono diversi plugin gpgv che vengono eseguiti quando apt-get viene installato o aggiornato e il demone Erlang Port Mapper, che consente l’esecuzione di codice arbitrario in alcuni script.

La vulnerabilità in Networkd-Dispatcher è stata corretta, ma non si sa quando e in quale versione. 

Si consiglia vivamente agli utenti Linux di eseguire l’aggiornamento all’ultima versione.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.