A Linux zero-day vulnerability with public exploit code and no patches hit today. Dirtyfrag (CVE-2026-31431) delivers guaranteed root access on Ubuntu, RHEL, Fedora, SUSE, and every major distribution via a 732-byte script. Security researcher Hyunwoo Kim disclosed it May 8 after a third party broke the coordinated embargo, forcing the exploit into the wild before any distribution shipped patches. CISA mandates federal agencies patch by May 15, but patches don’t exist. The only mitigation right now: blacklist three kernel modules and hope you don’t need IPsec.
How Dirtyfrag Gets Root on Every Linux Distro
Dirtyfrag chains two separate kernel logic bugs to bypass distribution-specific defenses. The first exploits the XFRM-ESP subsystem, present since January 2017. When a network buffer carrying a splice-pinned page cache reference hits the IPsec ESP decryption path, the kernel performs a 4-byte in-place write directly into files like /usr/bin/su. The attacker overwrites the setuid binary with a minimal rootshell, bypassing PAM authentication entirely.
The second bug targets RxRPC, introduced in June 2023. It performs an 8-byte in-place decrypt on page cache memory without requiring user namespaces. The attacker pre-computes the decryption key in user space before triggering the kernel write, making exploitation deterministic. This path patches /etc/passwd to set an empty root password, exploiting PAM’s nullok configuration.
Neither vulnerability alone covers all distributions. The ESP path needs unprivileged user namespaces, which Ubuntu sometimes blocks via AppArmor. The RxRPC module doesn’t ship by default on RHEL or Fedora, but it does on Ubuntu where it auto-loads. By running both exploits in sequence, a single binary achieves root across the entire Linux ecosystem.
What makes Dirtyfrag uniquely dangerous: It’s a pure logic bug, not a race condition like Dirty Cow or Dirty Pipe. That means 100% reliability on the first attempt, no timing luck required, and no kernel crashes on failure. A 9-year-old vulnerability in XFRM went undetected because kernel subsystem complexity hides subtle flaws. The RxRPC bug persisted for three years in code that’s rarely used and rarely audited.
The Mitigation (And Why It’s Painful)
Until patches arrive, the only defense is blacklisting the vulnerable kernel modules:
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
This disables IPsec ESP and RxRPC networking. For most desktop and general-purpose servers, that’s fine. But organizations running IPsec VPN tunnels using ESP mode face a choice: lose VPN connectivity or leave systems vulnerable to a public exploit with 100% success rate. There’s no middle ground.
Cloud providers are scrambling. Multi-tenant systems where one compromised user account hands over root to the entire host. Kubernetes clusters where a compromised pod escalates to node root. Shared hosting where one customer’s shell access compromises the server. Federal agencies have seven days to meet CISA’s May 15 deadline, but there’s nothing to patch. The mandate is to “apply mitigations or discontinue use,” which in practice means either blacklist modules or shut down Linux servers.
No distribution has released patches as of May 8. Ubuntu published mitigation guidance but no kernel updates. RHEL, Fedora, SUSE, Debian: silent. Kim submitted the rxrpc patch to the netdev mailing list on April 29, but distributions hadn’t backported it before the embargo break forced early disclosure. Expect patches within 7-14 days, but that’s speculation.
The Embargo Break
Kim planned a May 12 coordinated disclosure to give distributions time to prepare patches. A third party broke the embargo May 7, publishing the exploit publicly. Kim consulted kernel maintainers and released the full technical write-up and exploit code May 8, saying “the embargo has now been broken, no patches or CVEs exist. This was released at maintainers’ request after responsible disclosure failed.”
Hacker News exploded: 344 points, 163 comments debating disclosure ethics. Critics called it “insanely painful” to have a public exploit with no patches. Supporters argued Kim made the right call—attackers already had the exploit, so defenders needed it too. The security community remains divided on how to respond when third parties break coordinated disclosure.
The bigger absurdity: CISA added CVE-2026-31431 to its Known Exploited Vulnerabilities catalog on May 1 with a May 15 deadline. That was a week before Kim’s forced disclosure, which means CISA knew exploitation was happening in the wild. Microsoft confirmed attacks against US think tanks, European manufacturing companies, and cloud providers. But federal agencies can’t meet a deadline to patch vulnerabilities that have no patches.
What’s Next
Upstream kernel developers are merging fixes. Distributions are backporting to stable branches. Ubuntu will likely ship patches first, followed by RHEL, Fedora, and SUSE within days. The May 15 CISA deadline will either be missed or quietly extended. Exploit code will hit Metasploit and automated scanning tools, making this a commodity attack.
Long-term: XFRM and RxRPC subsystems need security audits. A 9-year-old bug in IPsec stack code that handles encrypted traffic at kernel level went undetected. RxRPC, a niche networking protocol, rarely gets scrutiny. Splice and vmsplice syscalls continue to be reliable kernel attack surfaces. Coordinated disclosure needs contingency plans for embargo breaks, because this won’t be the last time a third party forces researchers into early publication.
For now: Blacklist esp4, esp6, and rxrpc unless you need IPsec. Monitor your distribution’s security advisories. Test patches in staging before production. Review who has local shell access to your systems. Assume local privilege escalation bugs exist, and plan detection and response accordingly.
The full technical write-up and mitigation scripts are on GitHub. CISA’s KEV entry is at the Known Exploited Vulnerabilities catalog. Watch the OSS Security mailing list for patch announcements.









