
Audit-Skript für CVE-2026-43284 + CVE-2026-43500 „Dirty Frag“
Audit-Skript für CVE-2026-43284 + CVE-2026-43500 „Dirty Frag" — eine verkettete lokale Privilegieneskalations-Schwachstelle im Linux-Kernel, die am 2026-05-07 mit einem funktionierenden öffentlichen Exploit offengelegt wurde, bevor Distributionen Patches bereitstellen konnten.
Auch bekannt als „Copy Fail 2: Electric Boogaloo" — gleiche Codepfade, anderer Exploit-Autor.
Dirty Frag verkettet zwei verschiedene Kernel-Bugs, die von Hyunwoo Kim (@v4bel) entdeckt wurden, wobei beide auf dieselbe Schwachstellenklasse abzielen — In-Place-Entschlüsselung über paged Buffers, die nicht ausschließlich dem Kernel gehören.
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| Eigenschaft | Dirty Cow (2016) | Dirty Pipe (2022) | Copy Fail (2026) | Dirty Frag (2026) |
|---|---|---|---|---|
| Race Condition | ✅ Erforderlich | ❌ Nein | ❌ Nein | ❌ Nein |
| Schreibgranularität | Beliebig | 1 Byte ausgerichtet | 4 Bytes fest | Vollständiger Klartext, beliebiger Offset |
| Festplattenmodifikation | ✅ | ❌ | ❌ | ❌ |
| Forensische Spur | ✅ | ❌ | ❌ | ❌ |
| Container-Escape | Begrenzt | Begrenzt | Möglich | Ja (gemeinsamer Page Cache) |
| Öffentlicher Exploit | ✅ | ✅ | ✅ | ✅ vor Patches |
| Angriffsvektoren | 1 | 1 | 1 | 2 (esp + rxrpc) |
| Kernel-Bereich | Status |
|---|---|
| < 4.14 | ✅ Nicht betroffen |
| 4.14 – neueste ungepatchte | ❌ Anfällig |
Mainline mit f4c50a4034e6 | ✅ Gepatcht |
| Kernel-Bereich | Status |
|---|---|
| < 6.4 | ✅ Nicht betroffen (Muster noch nicht eingeführt) |
| 6.4 – neueste ungepatchte | ❌ Anfällig |
Mainline mit aa54b1d27fe0 | ✅ Gepatcht |
| Distribution | CVE-2026-43284 | CVE-2026-43500 | Gepatchte Version |
|---|---|---|---|
| AlmaLinux / RHEL 8 | ❌ Betroffen | ✅ Nicht ausgeliefert | kernel-4.18.0-553.123.2.el8_10 |
| AlmaLinux / RHEL 9 | ❌ Betroffen | ⚠ Nur wenn kernel-modules-partner (Devel-Repo) installiert ist | via dnf upgrade |
| AlmaLinux / RHEL 10 | ❌ Betroffen | ❌ Betroffen | via dnf upgrade |
| Ubuntu 20.04–24.04 | ❌ Betroffen | ⚠ Kernel-abhängig | via apt dist-upgrade |
| Debian stable | ❌ Betroffen | ⚠ Kernel-abhängig | Fix nur in sid (linux ≥ 7.0.4-1) |
| SUSE / openSUSE | ❌ Betroffen | ❌ Betroffen | via zypper update kernel-default |
| Arch Linux | ❌ Betroffen | ❌ Betroffen | via pacman -Syu linux |
git clone https://github.com/Quaerendir/dirtyfrag-audit
cd dirtyfrag-audit
chmod +x audit_dirtyfrag.sh
./audit_dirtyfrag.sh
Remote-Einzeiler (vor der Ausführung in der Produktion verifizieren):
curl -fsSL https://raw.githubusercontent.com/Quaerendir/dirtyfrag-audit/main/audit_dirtyfrag.sh | bash
| Code | Bedeutung |
|---|---|
0 | Sicher — keine der CVEs anwendbar |
1 | Verwundbar — mindestens eine CVE aktiv ohne Gegenmaßnahme |
2 | Abgemildert — Workaround aktiv, Patch weiterhin erforderlich |
| Prüfung | CVE |
|---|---|
| Kernel-Versionsbereich (4.14+ für ESP, 6.4+ für rxrpc) | Beide |
| Distributionsspezifische gepatchte Kernel-Versionen | Beide |
esp4 / esp6-Modul geladen (lsmod) | CVE-2026-43284 |
rxrpc-Modul geladen (lsmod) | CVE-2026-43500 |
| Erkennung von eingebautem vs. ladbarem Modul | Beide |
modprobe.d-Blacklist-Regeln (pro Modul) | Beide |
| IPsec XFRM State/Policy — aktive Sitzungen, die abbrechen würden | CVE-2026-43284 |
| kAFS / AFS-Modul in Verwendung — aktive rxrpc-Konsumenten | CVE-2026-43500 |
| KernelCare Live-Patch-Status | Beide |
Zugänglichkeit von /proc/sys/vm/drop_caches | Beide |
| Container- / Docker- / Kubernetes-Kontext | Beide |
| Aktiv angemeldete Benutzer (Multi-Tenant-Risiko) | Beide |
| SELinux- / AppArmor-Status | Beide |
| Erkennung von IPsec/VTI/XFRM-Schnittstellen | 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
Prüfen Sie zunächst, ob eine aktive Nutzung vorliegt:
ip xfrm state # IPsec — if output non-empty, blacklisting breaks IPsec
lsmod | grep kafs # AFS — if loaded, rxrpc is in use
Workaround anwenden:
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
IKE-Daemons (strongSwan, libreswan) funktionieren weiterhin — nur die In-Kernel-ESP-Paketverarbeitung ist deaktiviert.
MIT — siehe LICENSE
Quaerendir / Kostur IT SERVICES