
Linux-Kernel-Privilegieneskalations-Exploit, der zwei Page-Cache-Schreibschwachstellen (CVE-2026-43284, CVE-2026-43500) für deterministischen Root-Zugriff auf gängigen Distributionen ohne Race Conditions verkettet.

Dieses Dokument beschreibt die Dirty Frag-Schwachstellenklasse, die zuerst von Hyunwoo Kim (@v4bel) entdeckt und gemeldet wurde, und die Root-Rechte auf den wichtigsten Linux-Distributionen erlangen kann, indem die xfrm-ESP Page-Cache Write (CVE-2026-43284)-Schwachstelle und die RxRPC Page-Cache Write (CVE-2026-43500)-Schwachstelle verknüpft werden.
Dirty Frag ist ein Fall, der die Fehlerklasse erweitert, zu der Dirty Pipe und Copy Fail gehören. Da es sich um einen deterministischen Logikfehler handelt, der nicht von einem Zeitfenster abhängt, ist keine Race Condition erforderlich, der Kernel stürzt nicht ab, wenn der Exploit fehlschlägt, und die Erfolgsrate ist sehr hoch.
Detaillierte technische Informationen und den Zeitplan finden Sie hier.
xfrm-ESP Page-Cache Write (CVE-2026-43284) wurde im Hauptentwicklungszweig mit f4c50a4034e6 gepatcht.RxRPC Page-Cache Write (CVE-2026-43500) wurde im Hauptentwicklungszweig mit aa54b1d27fe0 gepatcht.[!NOTE] Zum Zeitpunkt der Erstveröffentlichung dieses Dokuments (2026-05-07) war das Embargo aufgrund externer Faktoren gebrochen worden, sodass noch kein Patch oder CVE existierte. Nach Rücksprache mit den Betreuern auf [email protected] zu diesem Zeitpunkt wurde das Dirty Frag-Dokument auf deren Wunsch hin veröffentlicht. Informationen zum Offenlegungszeitplan finden Sie in den technischen Details.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Dieser PoC wird als genaue Information nach Rücksprache mit linux-distros bereitgestellt. Verwenden Sie ihn nicht auf Systemen, die Sie nicht testen dürfen.
⚠️ Wichtig: Nach der Ausführung dieses Exploits ist der Page-Cache verunreinigt. Um den verunreinigten Page-Cache zu leeren und die Systemstabilität zu gewährleisten, führen Sie entweder:
echo 3 > /proc/sys/vm/drop_caches
oder starten Sie das System neu.
Mit anderen Worten, die effektive Lebensdauer der Schwachstellen beträgt etwa 9 Jahre.
Dieses Dirty Frag wurde auf den folgenden Distributionen getestet.
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 bietet eine leistungsstarke, beliebige 4-Byte-STORE-Primitive wie Copy Fail und ist in den meisten Distributionen enthalten, erfordert jedoch die Berechtigung zum Erstellen eines Namespace.
Ubuntu blockiert manchmal die Erstellung von unprivilegierten Benutzer-Namespaces durch die AppArmor-Richtlinie. In einer solchen Umgebung kann xfrm-ESP Page-Cache Write nicht ausgelöst werden. RxRPC Page-Cache Write erfordert keine Berechtigung zum Erstellen eines Namespace, aber das Modul rxrpc.ko selbst ist in den meisten Distributionen nicht enthalten. Unter Ubuntu wird das Modul rxrpc.ko jedoch standardmäßig geladen.
Die Verkettung der beiden Varianten führt dazu, dass die toten Winkel einander abdecken, sodass auf allen wichtigen Distributionen Root-Rechte erlangt werden können. Einzelheiten finden Sie im Dokument mit den technischen Details.
Ja, ja, ich weiß. Diese Schwachstelle ist jedoch ein Nachkomme von "Dirty Pipe" und eine Fehlerklasse, die das frag-Mitglied von struct sk_buff "verschmutzt" (dirty), daher ist dieser Name am treffendsten.
Copy Fail war die Motivation für den Beginn dieser Forschung. Insbesondere teilt xfrm-ESP Page-Cache Write in der Dirty Frag-Schwachstellenkette denselben Sink wie Copy Fail. Es wird jedoch unabhängig davon ausgelöst, ob das Modul algif_aead verfügbar ist. Mit anderen Worten: Selbst auf Systemen, auf denen die öffentlich bekannte Copy Fail-Gegenmaßnahme (algif_aead-Blacklist) angewendet wird, ist Ihr Linux immer noch anfällig für Dirty Frag.
Siehe den Abschnitt Gegenmaßnahmen oben.