Una catena di vulnerabilità chiamata Dirty Frag sta mettendo in allarme amministratori di sistema, provider cloud e team di sicurezza. Il problema è serio e piuttosto concreto: un utente locale senza alcun privilegio può ottenere accesso root su diverse distribuzioni Linux moderne sfruttando un difetto nel kernel. E no, non si tratta del solito exploit instabile che funziona una volta su dieci e richiede condizioni al limite dell’impossibile. Qui il comportamento è deterministico, con tassi di successo molto alti e senza kernel panic in caso di errore.
La scoperta porta la firma di Hyunwoo Kim, conosciuto online come @v4bel, già noto per studi precedenti su vulnerabilità kernel della famiglia “Dirty”. Il lavoro si collega concettualmente a tecniche già viste con Dirty Pipe e con la più recente Copy Fail, che peraltro risulta già attivamente sfruttata da attori malevoli. Il punto critico, in tutti questi casi, riguarda la manipolazione della page cache del kernel: quella zona di memoria che Linux usa per velocizzare l’accesso ai file. Dirty Frag però alza ulteriormente la posta, perché combina due vulnerabilità distinte presenti in sottosistemi differenti del networking Linux, la xfrm ESP Page Cache Write e la RxRPC Page Cache Write. La prima esiste dal 2017, la seconda dal 2023. In pratica, la superficie vulnerabile copre quasi un decennio di sviluppo del kernel.
Il problema ha già colpito distribuzioni come Ubuntu 24.04.4, Fedora 44, AlmaLinux 10, RHEL 10.1, CentOS Stream 10 e openSUSE Tumbleweed. E la situazione si complica parecchio: al momento della divulgazione pubblica non erano disponibili né patch ufficiali né identificativi CVE assegnati.
Rottura dell’embargo e exploit già pubblico
La divulgazione anticipata dei dettagli tecnici, quella che nel gergo si chiama rottura dell’embargo, è avvenuta dopo consultazioni con i maintainer attraverso la mailing list linux-distros@openwall.org. In sostanza, le informazioni stavano già circolando fuori dal perimetro riservato, anche se non esiste ancora una ricostruzione pubblica completa di come sia successo. Qualcuno avrebbe diffuso dettagli, patch parziali o indicatori sufficienti a rendere inevitabile la pubblicazione. Non sono stati indicati responsabili specifici. Il risultato, però, è stato immediato: exploit pubblico disponibile mentre le distribuzioni Linux non hanno ancora preparato aggiornamenti correttivi completi.
Ma cosa rende Dirty Frag diverso dalle classiche vulnerabilità di privilege escalation? Molte di queste dipendono da race condition, dove l’attaccante deve sincronizzare eventi kernel con estrema precisione per corrompere la memoria. Dirty Frag segue una strada diversa: il bug nasce da una logica errata nella gestione dei frammenti associati alle strutture sk_buff, utilizzate dal networking stack di Linux. In parole più semplici, il kernel modifica pagine della cache collegate a file aperti in sola lettura senza applicare correttamente il meccanismo di copy on write, che dovrebbe creare una copia separata della memoria prima di ogni modifica. Un attaccante può quindi alterare il contenuto in memoria correlato a file sensibili, come /usr/bin/su o /etc/passwd, anche senza avere permessi di scrittura sul filesystem. Il file su disco resta formalmente intatto, ma la copia mantenuta in RAM dalla page cache contiene codice o dati modificati. Qualunque processo che leggerà quel file userà la versione corrotta presente in memoria.
Mitigazioni temporanee e rischi operativi
Dal punto di vista difensivo la situazione è piuttosto scomoda. Molti strumenti EDR tradizionali cercano comportamenti tipici delle race condition o crash anomali del kernel, mentre il bug descritto da Hyunwoo Kim può far apparire le operazioni svolte come quasi normali. La presenza di exploit pubblici immediatamente funzionanti peggiora tutto: il proof of concept rilasciato permette lo sfruttamento di Dirty Frag con una singola riga di comando. Bastano accessi shell limitati su server condivisi, container host o piattaforme CI/CD per tentare l’escalation locale.
Al momento della divulgazione non risultano disponibili patch ufficiali complete. I maintainer hanno suggerito una mitigazione drastica: bloccare il caricamento dei moduli vulnerabili tramite un file in /etc/modprobe.d/ che impedisce il caricamento di esp4, esp6 e rxrpc, rimuovendo poi i moduli già caricati. Questa soluzione riduce l’esposizione ma porta con sé effetti collaterali non trascurabili: disabilitare ESP (Encapsulating Security Payload) su Linux significa interrompere alcune configurazioni VPN basate su IPsec. In infrastrutture aziendali o data center con tunnel IPsec attivi, la modifica può avere conseguenze significative sul funzionamento delle comunicazioni sicure. Bisogna quindi valutare rapidamente il compromesso tra disponibilità dei servizi e rischio di privilege escalation locale.
Un dettaglio importante: le mitigazioni già pubblicate per Copy Fail non proteggono da Dirty Frag, perché le due vulnerabilità condividono parte della logica ma colpiscono sottosistemi differenti. Gli amministratori Linux sono chiamati a monitorare gli advisory pubblicati da ciascuna distribuzione, verificare la presenza dei moduli coinvolti e limitare quanto possibile gli accessi shell. Dirty Frag non richiede exploit complessi o tecniche particolarmente sofisticate: è proprio questo il suo aspetto più pericoloso.
