
Linux kernel privilege escalation exploit chaining two page-cache write vulnerabilities (CVE-2026-43284, CVE-2026-43500) for deterministic root access on major distributions.
This document explains the Dirty Frag vulnerability class, discovered and reported by Hyunwoo Kim (@v4bel). By chaining xfrm-ESP Page-Cache Write (CVE-2026-43284) with RxRPC Page-Cache Write (CVE-2026-43500), an attacker can escalate to root on major Linux distributions.
Dirty Frag extends the same bug family as Dirty Pipe and Copy Fail. It is a deterministic logic bug that does not rely on timing windows or races, does not cause kernel panics on failure, and has a very high success rate when exploited.
For full technical details and the disclosure timeline, see the accompanying write-up (not included in this repository).
xfrm-ESP Page-Cache Write (CVE-2026-43284) was fixed in mainline at commit f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) was fixed in mainline at commit aa54b1d27fe0.[!NOTE] When this document was first released (2026-05-07), the embargo had already been broken externally. At that time, no public patch or CVE was available. After discussions with maintainers on [email protected], the Dirty Frag disclosure was published. See the technical write-up for the timeline.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
This PoC is shared for informational purposes after coordination with linux-distros. Do not run it against systems you are not authorized to test.
⚠️ Important: Running the exploit pollutes the page cache. To restore a clean state, either run:
echo 3 > /proc/sys/vm/drop_caches
or reboot the machine.
Effectively, these vulnerabilities span roughly nine years.
Tested distribution versions include:
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 offers a strong arbitrary 4-byte STORE primitive similar to Copy Fail and is available on many distributions, but it requires privilege to create a namespace.
Ubuntu may restrict unprivileged user namespace creation via AppArmor, preventing xfrm-ESP from being triggered. RxRPC Page-Cache Write does not require namespace creation privileges, but the rxrpc.ko module is not present by default on many distributions. On Ubuntu, however, rxrpc.ko is typically loaded.
Chaining both covers each other's gaps, enabling root on all major distributions. See the technical write-up for details.
Yes — Dirty Frag is related to "Dirty Pipe", and the name reflects that the bug class alters the frag member of struct sk_buff.
Copy Fail inspired this research. xfrm-ESP Page-Cache Write in the Dirty Frag chain shares the same sink as Copy Fail, but it triggers even when the algif_aead mitigation is present. Thus, systems hardened against Copy Fail may still be vulnerable to Dirty Frag.
Follow the steps in the Mitigation section above.
Maintainer: https://linkedin.com/in/tahamuhammadshafiq