Vedi ricercatori Point ha recentemente deciso di rivedere il kernel Linux, e più specificamente si guardarono negli piloti che cercano di rotolare il proprio utilizzo del mmap() funzione.
Ufficiale CVE-2018-8781 Descrizione:
La funzione udl_fb_mmap in drivers / gpu / drm / UDL / udl_fb.c alla versione del kernel di Linux 3.4 e fino al 4.15 ha una vulnerabilità di tipo integer overflow che permette agli utenti locali con accesso al driver udldrmfb di ottenere autorizzazioni complete in lettura e scrittura per pagine fisiche del kernel, conseguente all'esecuzione di codice nello spazio del kernel.
Come è stato CVE-2018-8781 Scoperto?
L'idea di funzioni del kernel ri-attuazione rischia di portare ad errori dovuti al fatto che meno del personale QA nelle organizzazioni rivedere il loro codice e risolvere i problemi di sicurezza come parte del loro processo, i ricercatori hanno spiegato.
rivedere questo, hanno portato alla luce e resi noti una serie di questioni e di un bug specifico che è in realtà una bambina di otto anni, la vulnerabilità in un driver. Il bug può essere utilizzato per l'escalation dei privilegi in versioni del kernel 3.4 e fino al 4.15.
Questo particolare bug è identificato come CVE-2018-8781, e colpisce la mmap interno() funzione definita nelle operazioni di file fb_helper del conducente udl di DisplayLink:
Il modulo video / DRM nel kernel definisce un mmap di default() wrapper che chiama che la vera mmap() handler definito dal driver specifico. Nel nostro caso la vulnerabilità è nella mmap interna() definito nelle operazioni sui file fb_helper del driver “UDL” di “DisplayLink”.
Questo è un classico esempio di un Integer Overflow-, check Point chiarito. Che cosa è un integer overflow? Integer overflow avviene quando un'operazione aritmetica tenta di creare un valore numerico che è al di fuori della gamma che può essere rappresentata con un determinato numero di bit.
Dal momento che non è firmato compensato il programmatore saltato controllo #1 e andò direttamente per controllare #2. Tuttavia, il calcolo “Offset + dimensioni”potrebbe avvolgenti per un valore basso, che ci permette di bypassare il controllo pur utilizzando un illegale “Offset” valore.
Come è stato CVE-2018-8781 verificato? Per farlo, i ricercatori hanno utilizzato una versione di Ubuntu a 64 bit macchina virtuale, e caricato un driver vulnerabile simulato. Su ogni prova mmap del conducente() gestore conteneva la realizzazione gli obiettivi erano di controllare. Ulteriori analisi hanno rivelato che l'utente può leggere e scrivere da / verso le pagine mappate, permettendo un utente malintenzionato di attivare l'esecuzione di codice nello spazio del kernel.
Maggiori informazioni su CVE-2018-8781 e come affrontare esso sono a disposizione.