È stata identificata una vulnerabilità in GDM

Un ricercatore di sicurezza di GitHub lo ha reso noto recentemente hai identificato una vulnerabilità (CVE-2020-16125) in GNOME Display Manager (GDM), che è responsabile della visualizzazione della schermata di accesso.

Combinato con un'altra vulnerabilità nel servizio di tracciamento dell'account (account-daemon), il problema consente al codice di essere eseguito come root.  La vulnerabilità è associata all'avvio errato dell'utilità di configurazione iniziale se è impossibile accedere al servizio daemon dell'account tramite DBus.

A proposito di vulnerabilità

Un utente senza privilegi può mandare in crash il processo account-daemon o riagganciare, cosa creerà le condizioni per l'utilità gnome-initial-setup da eseguire da GDM, attraverso la quale un nuovo utente può registrarsi come membro del gruppo sudo, cioè avere la possibilità di eseguire programmi come root.

Solitamente, GDM chiama gnome-initial-setup per impostare il primo utente se non ci sono account nel sistema. La verifica dell'esistenza degli account viene eseguita contattando account-daemon. Se il processo specificato non riesce, GDM presume che gli account siano mancanti e avvia il processo di configurazione iniziale.

Il ricercatore ha identificato due modi per interrompere il processo degli account daemon- Il primo (CVE-2020-16126) è dovuto a un errato ripristino dei privilegi e il secondo (CVE-2020-16127) errore durante l'elaborazione di un file ".pam_environment".

Inoltre, un'altra vulnerabilità è stata trovata negli account daemon (CVE-2018-14036) causato da controlli errati del percorso del file e che consente la lettura del contenuto di file arbitrari nel sistema.

Le vulnerabilità in account-daemon sono causate da modifiche apportate dagli sviluppatori Ubuntu e non compaiono nel codice account-daemon principale del progetto FreeDesktop e del pacchetto Debian.

Il problema CVE-2020-16127 è presente in una patch aggiunta in Ubuntu che implementa la funzione is_in_pam_environment, che legge il contenuto del file .pam_environment dalla directory home dell'utente. Se si inserisce un collegamento simbolico a / dev / zero al posto di questo file, il processo del daemon dell'account si blocca su operazioni di lettura infinite e smette di rispondere alle richieste tramite DBus.

È insolito che una vulnerabilità in un sistema operativo moderno sia così facile da sfruttare. In alcune occasioni, ho scritto migliaia di righe di codice per sfruttare una vulnerabilità. 

La maggior parte degli exploit moderni comporta trucchi complicati, come l'utilizzo di una vulnerabilità di danneggiamento della memoria per falsificare oggetti falsi nell'heap o la sostituzione di un file con un collegamento simbolico con precisione al microsecondo per sfruttare una vulnerabilità di TOCTOU. 

Quindi in questi giorni è relativamente raro trovare una vulnerabilità che non richiede abilità di programmazione per essere sfruttata. Penso anche che la vulnerabilità sia facile da capire, anche se non hai una conoscenza preliminare di come funziona Ubuntu o esperienza nella ricerca sulla sicurezza.

La vulnerabilità CVE-2020-16126 è causata da un'altra patch che ripristina i privilegi dell'utente corrente durante l'elaborazione di alcune chiamate DBus (ad esempio, org.freedesktop.Accounts.User.SetLanguage).

Il processo del demone dell'account viene eseguito normalmente come root, il che impedisce a un utente normale di inviare segnali.

Ma grazie alla patch aggiunta, i privilegi di processo possono essere ripristinati e l'utente può terminare questo processo inviando un segnale. Per eseguire un attacco, è sufficiente creare le condizioni per rimuovere i privilegi (RUID) e inviare un segnale SIGSEGV o SIGSTOP al processo del demone dell'account.

L'utente termina la sessione grafica e va alla console di testo (Ctrl-Alt-F1).
Al termine della sessione grafica, GDM tenta di visualizzare la schermata di accesso, ma si blocca quando si tenta di ottenere una risposta dal demone degli account.

I segnali SIGSEGV e SIGCONT vengono inviati dalla console al processo del demone dell'account, provocandone il blocco.

Puoi anche inviare segnali prima di uscire dalla sessione grafica, ma devi farlo con un ritardo per avere il tempo di terminare la sessione e prima che il segnale venga inviato, GDM ha avuto il tempo di iniziare.

La richiesta al demone degli account in GDM fallisce e GDM chiama l'utility gnome-initial-setup, nella cui interfaccia è sufficiente creare un nuovo account.

La vulnerabilità è stata risolta in GNOME 3.36.2 e 3.38.2. Lo sfruttamento della vulnerabilità è stato confermato in Ubuntu e nei suoi derivati.

fonte: https://securitylab.github.com


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.