Skip to main content

CVE-2022-0847 NUOVA VULNERABILITÀ CRITICA RELATIVA ALL’ESCALATION DEI PRIVILEGI IN LINUX PRESENTATA IN BLACK HAT :DIRTY CRED

L’attacco al kernel di Dirty Cred Linux è stato svelato alla conferenza sulla sicurezza di Black Hat la scorsa settimana.
La vulnerabilità CVE-2022-0847 è stata trovata dal dottorando Zhenpeng Lin e dai suoi colleghi, che hanno tentato di sfruttare il kernel Linux in modo simile alla classica vulnerabilità di Dirty Pipe ma utilizzando strategie diverse.

Un concetto di sfruttamento del kernel chiamato “DirtyCred” sostituisce le credenziali del kernel non privilegiate con quelle privilegiate al fine di elevare i permessi. Per ottenere i privilegi, DirtyCred sfrutta il meccanismo di riutilizzo della memoria dell’heap anziché sovrascrivere i dati nell’heap del kernel. Tutti i file di sola lettura interessati dalla versione del kernel 5.8 o successiva vengono sovrascritti.

Sui sistemi vulnerabili sia a una vulnerabilità pubblicata di recente (CVE-2021-4154) che a una debolezza precedentemente sconosciuta (CVE-2022-2588), il team di Lin ha trovato un modo per scambiare le credenziali del kernel Linux e prevede di aggiungere ulteriori CVE. Su GitHub è presente un POC pubblico (proof of concept) che fornisce una forte protezione contro l’assalto.

https://github.com/Markakd/DirtyCred

I ricercatori hanno caratterizzato il loro scenario di attacco come un approccio generale che può essere utilizzato con Android e container.

Utilizzando lo stesso codice di attacco, Lin ha presentato una demo su Twitter che mostra come la strategia può essere utilizzata per elevare un utente con privilegi bassi su due distinti sistemi operativi, come Centos 8 e Ubuntu.

PROTEZIONE CONTRO DIRTYCRED

Nonostante il fatto che il POC sia già funzionante in alcune circostanze, come una particolare vulnerabilità, va sottolineato che è ancora in fase di sviluppo. Il kernel Linux contiene una correzione per CVE-2021-4154, ma secondo i ricercatori, “l’attacco funziona sulla maggior parte dei kernel Centos 8 superiori a Linux-4.18.0-305.el8 e sulla maggior parte dei kernel Ubuntu 20 superiori a 5.4.0- 87.98 e 5.11.0-37.41”.

I ricercatori sostengono la separazione delle credenziali privilegiate da quelle non privilegiate utilizzando la memoria virtuale per prevenire attacchi cross-cache poiché gli oggetti sono separati in base al loro tipo piuttosto che ai loro diritti.