
Questo documento spiega la classe di vulnerabilità Dirty Frag, scoperta e segnalata da Hyunwoo Kim (@v4bel). Combinando xfrm-ESP Page-Cache Write (CVE-2026-43284) con RxRPC Page-Cache Write (CVE-2026-43500), un attaccante può elevare i propri privilegi a root sulle principali distribuzioni Linux.
Dirty Frag appartiene alla stessa famiglia di bug di Dirty Pipe e Copy Fail. È un bug logico deterministico che non dipende da finestre di temporizzazione o race condition, non causa kernel panic in caso di fallimento e ha un tasso di successo molto elevato quando viene sfruttato.
Per i dettagli tecnici completi e la timeline della divulgazione, consultare il write-up allegato (non incluso in questo repository).
xfrm-ESP Page-Cache Write (CVE-2026-43284) è stato corretto nel mainline al commit f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) è stato corretto nel mainline al commit aa54b1d27fe0.[!NOTE] Quando questo documento è stato pubblicato per la prima volta (2026-05-07), l'embargo era già stato violato esternamente. In quel momento non era disponibile alcuna patch pubblica o CVE. Dopo discussioni con i maintainer su [email protected], la divulgazione di Dirty Frag è stata pubblicata. Consultare il write-up tecnico per la timeline.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Questo PoC è condiviso a scopo informativo dopo il coordinamento con linux-distros. Non eseguirlo su sistemi che non sei autorizzato a testare.
⚠️ Importante: L'esecuzione dell'exploit inquina la page cache. Per ripristinare uno stato pulito, esegui uno dei seguenti comandi:
echo 3 > /proc/sys/vm/drop_caches
oppure riavvia la macchina.
In pratica, queste vulnerabilità coprono un arco di circa nove anni.
Le versioni delle distribuzioni testate includono:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
xfrm-ESP Page-Cache Write offre una primitiva STORE arbitraria di 4 byte molto efficace, simile a Copy Fail, ed è disponibile su molte distribuzioni, ma richiede privilegi per creare un namespace.
Ubuntu potrebbe limitare la creazione di user namespace non privilegiati tramite AppArmor, impedendo l'attivazione di xfrm-ESP. RxRPC Page-Cache Write non richiede privilegi per la creazione di namespace, ma il modulo rxrpc.ko non è presente di default su molte distribuzioni. Su Ubuntu, tuttavia, rxrpc.ko viene tipicamente caricato.
La combinazione dei due copre le rispettive lacune, consentendo di ottenere root su tutte le principali distribuzioni. Consultare il write-up tecnico per i dettagli.
Sì — Dirty Frag è correlato a "Dirty Pipe", e il nome riflette il fatto che la classe di bug altera il membro frag della struct sk_buff.
Copy Fail ha ispirato questa ricerca. La scrittura xfrm-ESP Page-Cache nella catena Dirty Frag condivide lo stesso sink di Copy Fail, ma si attiva anche quando è presente la mitigazione algif_aead. Pertanto, i sistemi induriti contro Copy Fail potrebbero essere ancora vulnerabili a Dirty Frag.
Segui i passaggi nella sezione Mitigazione qui sopra.
Manutentore: https://linkedin.com/in/tahamuhammadshafiq