Linux, nuova grave vulnerabilità: approfondimento su Dirty Pipe

Linux dirty pipe bug

Un ricercatore di sicurezza ha reso noti i dettagli di una grave vulnerabilità che consente a un malintenzionato di sovrascrivere dati presenti in file arbitrari di sola lettura.

La vulnerabilità, battezzata Dirty Pipe (CVE-2022-0847), è stata scoperta da Max Kellermann nell’aprile 2021, ma ci sono voluti diversi mesi prima che capisse cosa stava effettivamente accadendo. Max Kellermann ha spiegato che la vulnerabilità interessa Linux Kernel 5.8 e le versioni successive, e attualmente è stata corretta in Linux 5.16.11, 5.15.25 e 5.10.102.

Dirty Pipe: vulnerabilità grave

Tutto è iniziato un anno fa con un ticket di supporto relativo a file corrotti. Un cliente si è lamentato del fatto che i log di accesso scaricati non potevano essere decompressi. E, in effetti, c’era un file di log corrotto su uno dei server di log; poteva essere decompresso, ma gzip segnalava un errore CRC. Non riuscivo a spiegare perché fosse corrotto, ma presumevo che il processo di divisione notturna si fosse arrestato in modo anomalo e avesse prodotto un file corrotto. Ho corretto manualmente il CRC del file, chiuso il ticket e presto mi sono dimenticato del problema.

queste le parole di Max Kellermann.

Il problema, mesi dopo, si è ripetuto ancora e ancora. Ogni volta, il contenuto del file sembrava corretto, ma il CRC alla fine del file era anomalo. Dopo l’analisi di diversi file corrotti Max Kellermann è stato in grado di scavare più a fondo ed è emerso un modello di corruzione.

Max Kellermann ha capito come funziona la vulnerabilità e quindi come qualcuno potrebbe potenzialmente sfruttarla. Inizialmente presumeva che il bug fosse sfruttabile solo mentre un processo privilegiato scriveva il file e che dipendesse dal timing. In seguito, ha scoperto che è possibile sovrascrivere la cache della pagina anche in assenza di autori, senza vincoli di tempo, in posizioni (quasi) arbitrarie e con dati arbitrari.

Exploit

Per attivare la vulnerabilità, Max Kellermann ha condiviso il suo proof-of-concept, l’attaccante deve disporre dei permessi di lettura. Inoltre, l’offset non deve trovarsi su un limite di pagina, la scrittura non può oltrepassare un limite di pagina e il file non può essere ridimensionato.

Per sfruttare questa vulnerabilità, è necessario: creare una pipe, riempire la pipe con dati arbitrari (per impostare il flag PIPE_BUF_FLAG_CAN_MERGE in tutte le voci dell’anello), svuotare la pipe (lasciando il flag impostato in tutte le istanze struct pipe_buffer sull’anello struct pipe_inode_info), unire i dati dal file di destinazione (aperto con O_RDONLY) nella pipe appena prima dell’offset di destinazione e scrivere dati arbitrari nella pipe.

Il buco è abbastanza grave perché funziona senza permessi di scrittura e soprattutto funziona anche con file immutabili, su snapshot btrfs di sola lettura e su mount di sola lettura (compresi i CD-ROM). Questo perché la cache della pagina è sempre scrivibile (dal kernel) e la scrittura su una pipe non controlla mai i permessi.

La segnalazione di bug, l’exploit e la patch sono state inviate al team di sicurezza del kernel Linux da Max Kellermann il 20 febbraio scorso.

Il bug è stato riprodotto su Google Pixel 6 e una segnalazione è stata inviata all’Android Security Team.

Gli sviluppatori del kernel Linux hanno rilasciato correzioni (5.16.11, 5.15.25, 5.10.102) il 23 febbraio mentre Google ha inserito la patch nel kernel Android il 24 febbraio. Max Kellermann e altri esperti hanno confrontato la vulnerabilità con la CVE-2016-5195 “Dirty Cow”, affermando che è ancora più facile da sfruttare.

sharing-caring-1

Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.

Fonte: https://www.lffl.org/2022/03/linux-vulnerabilita-dirty-pipe.html

Visited 4 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.