
CVE-2026-43284/CVE-2026-43500 'DirtyFrag' Benign-Patch- & Mitigations-Erkennungsskript
TL;DR: Es gibt zwei neue Linux-Kernel-Bugs. Dieses Skript sagt dir, ob du verwundbar bist. Patch dein System.
Am 7. Mai 2026 wurde eine Schwachstellenklasse namens Dirty Frag vom Sicherheitsforscher Hyunwoo Kim (@v4bel) öffentlich offengelegt — vorzeitig, nachdem ein Embargo-Bruch ihn dazu zwang, bevor Patches bereit waren.
Sie erlaubt jedem unprivilegierten lokalen Benutzer, Root-Rechte zu erlangen. Keine Race Condition. Kein Timing-Fenster. Hochzuverlässig.
Zwei Subsysteme sind betroffen:
| CVE | Subsystem | Module | Eingeführt | Behoben (upstream) |
|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | Jan 2017 (cac2661c53f3) | 7. Mai 2026 (f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | Jun 2023 (2dc334f1a63a) | 10. Mai 2026 (aa54b1d27fe0) |
Keiner der beiden Bugs ist für sich allein vollständig zuverlässig — der ESP-Pfad erfordert die Fähigkeit, einen User Namespace zu erstellen (was Ubuntus AppArmor blockiert), und der RxRPC-Pfad benötigt rxrpc.ko geladen (was die meisten Distributionen standardmäßig nicht tun). Zusammen decken sie die blinden Flecken des jeweils anderen ab, wodurch die Kette auf praktisch jeder großen Distribution funktioniert.
Ein öffentlicher Proof-of-Concept ist verfügbar. Geh davon aus, dass er bereits aktiv genutzt wird.
Es prüft dein System auf die Bedingungen, die eine Ausnutzung möglich machen, und sagt dir konkret, warum du exponiert bist — nicht nur ein Ja oder Nein.
| Prüfung | Worauf sie achtet |
|---|---|
| Kernel-Version | Liegt dieser Kernel in einem der betroffenen Bereiche? |
| Patch — CVE-2026-43284 | Ist der esp4/esp6-Fix (f4c50a4034e6) in deinem Kernel-Paket? |
| Patch — CVE-2026-43500 | Hat deine Distribution den rxrpc-Fix (aa54b1d27fe0) zurückportiert? |
esp4-Modul | Geladen, ladbar oder blockiert? |
esp6-Modul | Geladen, ladbar oder blockiert? |
rxrpc-Modul | Geladen, ladbar oder blockiert? |
| XFRM-Netlink-Socket | Kann ein unprivilegierter Benutzer gerade jetzt einen öffnen? |
| AF_RXRPC-Socket | Kann ein unprivilegierter Benutzer gerade jetzt einen öffnen? |
| Mitigationen | AppArmor, SELinux, unprivilegierte User Namespaces, Blacklist-Datei |
Es wird nichts reparieren. Es wird nichts ausnutzen. Es sagt dir nur die Wahrheit über dein System.
python3 dirty_frag_detect.py
Das war's. Farbcodierte Ausgabe, konkrete Gründe für jeden Befund und eine Zusammenfassung zur Behebung am Ende.
[
]
Der eigentliche Fix ist das Patchen deines Kernels. Prüfe die Sicherheitshinweise deiner Distribution:
| Distribution | Wo nachsehen |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
| RHEL / AlmaLinux / Rocky | sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | CloudLinux-Hinweis |
Während du wartest (oder falls für deine Distribution noch keine Patches verfügbar sind), blockiere die verwundbaren Module:
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"
⚠️ Bevor du das tust:
- Das Blockieren von
esp4/esp6bricht IPsec-Tunnel (strongSwan, Libreswan; WireGuard ist nicht betroffen). Wende das nicht auf VPN-Gateways an.- Das Blockieren von
rxrpcbricht AFS-Clients für verteilte Dateisysteme. Fast niemand nutzt das — aber prüfe zuerst.
Wichtig: Falls dein System vor der Anwendung der Mitigation Ziel eines Angriffs gewesen sein könnte, kann der Exploit Binärdateien im Page Cache verändern, ohne die Festplatte zu berühren. Dateiintegritätstools (Tripwire, AIDE), die On-Disk-Checksummen prüfen, werden nichts Falsches sehen. Ein Neustart leert den Page Cache und stellt den On-Disk-Zustand wieder her.
Beide Bugs liegen in den In-Place-Entschlüsselungs-Schnellpfaden des Kernels. Wenn ein Socket-Puffer Seitenfragmente trägt, die nicht privat dem Kernel gehören — zum Beispiel Pipe-Seiten, die über splice() oder sendfile() angehängt wurden — entschlüsseln die ESP- und RxRPC-Empfangspfade direkt über diese extern hinterlegten Seiten, statt zuerst zu kopieren.
Ein Angreifer kann eine Seite aus dem Cache von /usr/bin/su (oder einer anderen lesbaren Datei) in einen dieser Entschlüsselungspfade lenken und dabei seinen eigenen Schlüssel verwenden, sodass die „entschlüsselte Ausgabe" genau die Bytes sind, die er wählt. Der Kernel schreibt diese Bytes direkt in die In-Memory-Cache-Kopie von su. Die Datei auf der Festplatte bleibt unberührt. Der Kernel markiert die Seite nie als dirty.
Ab diesem Zeitpunkt führt jeder Prozess, der su ausführt, die Version des Angreifers aus — bis drop_caches oder ein Neustart.
Die ESP-Variante (cac2661c53f3) und die RxRPC-Variante (2dc334f1a63a) teilen sich dieselbe Senke, haben aber unterschiedliche Voraussetzungen, die sich gegenseitig aufheben, wodurch die Kette über alle großen Konfigurationen hinweg zuverlässig ist.
Für die vollständige technische Ausarbeitung siehe V4bel/dirtyfrag.
| Datum | Ereignis |
|---|---|
| 2026-04-30 | An das Linux-Kernel-Sicherheitsteam gemeldet |
| 2026-05-07 | Embargo von Dritter Seite gebrochen; Hyunwoo Kim veröffentlicht vorzeitig |
| 2026-05-07 | Öffentlicher PoC veröffentlicht; CVE-2026-43284 zugewiesen |
| 2026-05-07 | CVE-2026-43284-Fix (f4c50a4034e6) in netdev/net.git gemerged |
| 2026-05-08 | CVE-2026-43500 reserviert; Distributionen beginnen, gepatchte Kernel für CVE-2026-43284 auszuliefern |
| 2026-05-10 | CVE-2026-43500-Fix (aa54b1d27fe0) in Mainline gemerged |
| 2026-05-11 | Distributions-Backports für CVE-2026-43500 in Arbeit |
Danksagung: Hyunwoo Kim (@v4bel) für die ursprüngliche Forschung, Offenlegung und den PoC.
Nur zur Erkennung. Richte es auf Systeme, die du autorisiert bist zu bewerten.