
Script di audit per CVE-2026-43284 + CVE-2026-43500 "Dirty Frag"
Script di audit per CVE-2026-43284 + CVE-2026-43500 "Dirty Frag" — una vulnerabilità concatenata di escalation locale dei privilegi nel kernel Linux divulgata il 2026-05-07 con un exploit pubblico funzionante, prima che fossero disponibili le patch delle distribuzioni.
Nota anche come "Copy Fail 2: Electric Boogaloo" — stessi percorsi di codice, autore dell'exploit diverso.
Dirty Frag concatena due bug distinti del kernel scoperti da Hyunwoo Kim (@v4bel), ciascuno mirato alla stessa classe di vulnerabilità — decifratura in-place su buffer paginati non posseduti esclusivamente dal kernel.
AF_INET / AF_INET6 socket (IPsec ESP)
└── In-place decryption path (commit cac2661c53f3, Jan 2017)
└── splice() feeds page cache pages as destination buffers
└── Plaintext write at attacker-controlled offset in page cache
└── Target SUID binary in memory → root
esp4, esp6f4c50a4034e6AF_RXRPC socket (Andrew File System / RxRPC protocol)
└── Same in-place pattern added to rxrpc (June 2023)
└── Same page-cache write primitive
└── root
rxrpcaa54b1d27fe0| Proprietà | Dirty Cow (2016) | Dirty Pipe (2022) | Copy Fail (2026) | Dirty Frag (2026) |
|---|---|---|---|---|
| Race condition | ✅ Richiesta | ❌ No | ❌ No | ❌ No |
| Granularità di scrittura | Arbitraria | 1 byte allineato | 4 byte fissi | Testo in chiaro completo, qualsiasi offset |
| Modifica del disco | ✅ | ❌ | ❌ | ❌ |
| Traccia forense | ✅ | ❌ | ❌ | ❌ |
| Container escape | Limitato | Limitato | Possibile | Sì (page cache condivisa) |
| Exploit pubblico | ✅ | ✅ | ✅ | ✅ prima delle patch |
| Vettori di attacco | 1 | 1 | 1 | 2 (esp + rxrpc) |
| Intervallo kernel | Stato |
|---|---|
| < 4.14 | ✅ Non interessato |
| 4.14 – ultima versione non patchata | ❌ Vulnerabile |
mainline con f4c50a4034e6 | ✅ Patchato |
| Intervallo kernel | Stato |
|---|---|
| < 6.4 | ✅ Non interessato (pattern non ancora introdotto) |
| 6.4 – ultima versione non patchata | ❌ Vulnerabile |
mainline con aa54b1d27fe0 | ✅ Patchato |
| Distribuzione | CVE-2026-43284 | CVE-2026-43500 | Versione patchata |
|---|---|---|---|
| AlmaLinux / RHEL 8 | ❌ Interessato | ✅ Non distribuito | kernel-4.18.0-553.123.2.el8_10 |
| AlmaLinux / RHEL 9 | ❌ Interessato | ⚠ Solo se è installato kernel-modules-partner (repo Devel) | tramite dnf upgrade |
| AlmaLinux / RHEL 10 | ❌ Interessato | ❌ Interessato | tramite dnf upgrade |
| Ubuntu 20.04–24.04 | ❌ Interessato | ⚠ Dipende dal kernel | tramite apt dist-upgrade |
| Debian stable | ❌ Interessato | ⚠ Dipende dal kernel | Fix solo in sid (linux ≥ 7.0.4-1) |
| SUSE / openSUSE | ❌ Interessato | ❌ Interessato | tramite zypper update kernel-default |
| Arch Linux | ❌ Interessato | ❌ Interessato | tramite pacman -Syu linux |
git clone https://github.com/Quaerendir/dirtyfrag-audit
cd dirtyfrag-audit
chmod +x audit_dirtyfrag.sh
./audit_dirtyfrag.sh
One-liner remoto (verificare prima di eseguire in produzione):
curl -fsSL https://raw.githubusercontent.com/Quaerendir/dirtyfrag-audit/main/audit_dirtyfrag.sh | bash
| Codice | Significato |
|---|---|
0 | Sicuro — nessuna delle due CVE applicabile |
1 | Vulnerabile — almeno una CVE attiva senza mitigazione |
2 | Mitigato — workaround attivo, patch ancora necessaria |
| Controllo | CVE |
|---|---|
| Intervallo di versione del kernel (4.14+ per ESP, 6.4+ per rxrpc) | Entrambe |
| Versioni del kernel patchate specifiche per distribuzione | Entrambe |
Modulo esp4 / esp6 caricato (lsmod) | CVE-2026-43284 |
Modulo rxrpc caricato (lsmod) | CVE-2026-43500 |
| Rilevamento modulo integrato vs caricabile | Entrambe |
Regole di blacklist in modprobe.d (per modulo) | Entrambe |
| Stato/policy IPsec XFRM — sessioni attive che si interromperebbero | CVE-2026-43284 |
| Modulo kAFS / AFS in uso — consumatori rxrpc attivi | CVE-2026-43500 |
| Stato della live patch KernelCare | Entrambe |
Accessibilità di /proc/sys/vm/drop_caches | Entrambe |
| Contesto Container / Docker / Kubernetes | Entrambe |
| Utenti attualmente connessi (rischio multi-tenant) | Entrambe |
| Stato SELinux / AppArmor | Entrambe |
| Rilevamento interfacce IPsec/VTI/XFRM | CVE-2026-43284 |
# RHEL / AlmaLinux
dnf clean metadata && dnf upgrade && reboot
# Ubuntu / Debian
apt-get update && apt-get dist-upgrade && reboot
# SUSE
zypper update kernel-default && reboot
# Arch
pacman -Syu linux && reboot
Per prima cosa, verificare l'uso attivo:
ip xfrm state # IPsec — if output non-empty, blacklisting breaks IPsec
lsmod | grep kafs # AFS — if loaded, rxrpc is in use
Applica la soluzione alternativa:
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 || true
# IMPORTANT: flush page cache to evict any poisoned pages
echo 3 > /proc/sys/vm/drop_caches
kcarectl --update
kcarectl --patch-info | grep -iE 'CVE-2026-43284|CVE-2026-43500|dirtyfrag'
dm-crypt / LUKS · WireGuard · OpenVPN · SSH · TLS/kTLS · OpenSSL · GnuTLS
I daemon IKE (strongSwan, libreswan) continuano a funzionare — è disabilitata solo l'elaborazione dei pacchetti ESP nel kernel.