
CVE-2026-43284/CVE-2026-43500 'DirtyFrag' Script di rilevamento di patch benigni e mitigazioni
TL;DR: Ci sono due nuovi bug del kernel Linux. Questo script ti dice se sei vulnerabile. Applica le patch.
Il 7 maggio 2026, una classe di vulnerabilità chiamata Dirty Frag è stata divulgata pubblicamente dal ricercatore di sicurezza Hyunwoo Kim (@v4bel) — in anticipo rispetto ai tempi previsti, dopo che la rottura di un embargo lo ha costretto a pubblicare prima che le patch fossero pronte.
Consente a qualsiasi utente locale non privilegiato di ottenere i permessi di root. Nessuna race condition. Nessuna finestra di timing. Altamente affidabile.
Due sottosistemi sono interessati:
| CVE | Sottosistema | Moduli | Introdotta | Corretta (upstream) |
|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | Gen 2017 (cac2661c53f3) | 7 Mag 2026 (f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | Giu 2023 (2dc334f1a63a) | 10 Mag 2026 (aa54b1d27fe0) |
Nessuno dei due bug da solo è completamente affidabile — il percorso ESP richiede la capacità di creare un user namespace (che l'AppArmor di Ubuntu blocca), e il percorso RxRPC richiede che rxrpc.ko sia caricato (cosa che la maggior parte delle distribuzioni non fa di default). Insieme coprono i rispettivi punti ciechi, rendendo la catena funzionante su praticamente ogni distribuzione principale.
È disponibile un proof-of-concept pubblico. Considera che sia già in uso attivo.
Controlla il tuo sistema per le condizioni che rendono possibile lo sfruttamento e ti dice specificamente perché sei esposto — non solo un sì o un no.
| Controllo | Cosa cerca |
|---|---|
| Versione del kernel | Questo kernel rientra in uno degli intervalli interessati? |
| Patch — CVE-2026-43284 | La correzione esp4/esp6 (f4c50a4034e6) è nel tuo pacchetto kernel? |
| Patch — CVE-2026-43500 | La tua distribuzione ha backportato la correzione rxrpc (aa54b1d27fe0)? |
Modulo esp4 | Caricato, caricabile o in blacklist? |
Modulo esp6 | Caricato, caricabile o in blacklist? |
Modulo rxrpc | Caricato, caricabile o in blacklist? |
| Socket netlink XFRM | Un utente non privilegiato può aprirne uno adesso? |
| Socket AF_RXRPC | Un utente non privilegiato può aprirne uno adesso? |
| Mitigazioni | AppArmor, SELinux, user namespace non privilegiati, file di blacklist |
Non correggerà nulla. Non sfrutterà nulla. Ti dice solo la verità sul tuo sistema.
python3 dirty_frag_detect.py
Tutto qui. Output con codifica a colori, motivi specifici per ogni risultato e un riepilogo delle misure correttive alla fine.
[
]
La vera soluzione è applicare la patch al kernel. Controlla gli advisory di sicurezza della tua distribuzione:
| Distribuzione | Dove guardare |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
| RHEL / AlmaLinux / Rocky | sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | Advisory CloudLinux |
Nell'attesa (o se le patch non sono ancora disponibili per la tua distribuzione), metti in blacklist i moduli vulnerabili:
sudo 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"
⚠️ Prima di farlo:
- Mettere in blacklist
esp4/esp6interromperà i tunnel IPsec (strongSwan, Libreswan; WireGuard non è interessato). Non applicare questo su gateway VPN.- Mettere in blacklist
rxrpcinterromperà i client del filesystem distribuito AFS. Quasi nessuno lo usa — ma controlla prima.
Importante: se il tuo sistema potrebbe essere stato preso di mira prima dell'applicazione della mitigazione, l'exploit può modificare i binari nella page cache senza toccare il disco. Gli strumenti di integrità dei file (Tripwire, AIDE) che controllano i checksum su disco non vedranno nulla di anomalo. Il riavvio pulisce la page cache e ripristina lo stato su disco.
Entrambi i bug risiedono nei percorsi rapidi di decrittazione in-place del kernel. Quando un buffer di socket trasporta frammenti paginati che non sono di proprietà privata del kernel — ad esempio, pagine di pipe allegate tramite splice() o sendfile() — i percorsi di ricezione ESP e RxRPC decrittano direttamente su quelle pagine supportate esternamente invece di copiarle prima.
Un attaccante può indirizzare una pagina dalla cache di /usr/bin/su (o qualsiasi altro file leggibile) in uno di questi percorsi di decrittazione, usando la propria chiave così che l'"output decrittato" sia qualsiasi byte scelga. Il kernel scrive quei byte direttamente nella copia in memoria cache di su. Il file su disco è intatto. Il kernel non marca mai la pagina come sporca.
Da quel momento, ogni processo che esegue su esegue la versione dell'attaccante — fino a drop_caches o a un riavvio.
La variante ESP (cac2661c53f3) e la variante RxRPC (2dc334f1a63a) condividono lo stesso sink ma hanno prerequisiti diversi che si annullano a vicenda, rendendo la catena affidabile su tutte le configurazioni principali.
Per l'analisi tecnica completa, vedi V4bel/dirtyfrag.
| Data | Evento |
|---|---|
| 2026-04-30 | Segnalato al team di sicurezza del kernel Linux |
| 2026-05-07 | Embargo rotto da terzi; Hyunwoo Kim pubblica in anticipo |
| 2026-05-07 | PoC pubblico rilasciato; assegnato CVE-2026-43284 |
| 2026-05-07 | Correzione CVE-2026-43284 (f4c50a4034e6) integrata in netdev/net.git |
| 2026-05-08 | CVE-2026-43500 riservato; le distribuzioni iniziano a distribuire kernel patchati per CVE-2026-43284 |
| 2026-05-10 | Correzione CVE-2026-43500 (aa54b1d27fe0) integrata nel mainline |
| 2026-05-11 | Backport delle distribuzioni per CVE-2026-43500 in corso |
Crediti: Hyunwoo Kim (@v4bel) per la ricerca originale, la divulgazione e il PoC.
Solo rilevamento. Puntalo su sistemi che sei autorizzato a valutare.