Linux Kernel Dirty Frag LPE Exploit Enables Root Access Across Major Distributions

Details have emerged about a new, unpatched local privilege escalation (LPE) vulnerability impacting the Linux kernel. Dubbed Dirty Frag, it has been described as a successor to Copy Fail (CVE-2026-31431), a recently disclosed LPE flaw that has since come under active exploitation in the wild.

The Vulnerability: A Deterministic Logic Bug

“Dirty Frag is a vulnerability (class) that achieves root privileges on most Linux distributions by chaining the xfrm-ESP Page-Cache Write vulnerability and the RxRPC Page-Cache Write vulnerability,” security researcher Hyunwoo Kim (@v4bel) said in a write-up.

Unlike many kernel exploits that rely on race conditions or timing windows, Dirty Frag is a deterministic logic bug. This means:

  • No race condition required: The exploit doesn’t depend on precise timing
  • High success rate: The kernel doesn’t panic when the exploit fails
  • Predictable execution: The bug follows a consistent logical path

The vulnerability currently does not have a CVE identifier, as the embargo was broken after detailed information and the exploit for the xfrm-ESP Page-Cache Write vulnerability were published publicly by an unrelated third-party.

Affected Distributions

Successful exploitation could allow an unprivileged local user to gain elevated root access on most major Linux distributions, including:

  • Ubuntu 24.04.4
  • RHEL 10.1
  • openSUSE Tumbleweed
  • CentOS Stream 10
  • AlmaLinux 10
  • Fedora 44

The Two Exploit Variants

1. xfrm-ESP Page-Cache Write

Rooted in the IPSec (xfrm) subsystem, this variant was introduced in a source code commit made in January 2017. Interestingly, the same commit was the root cause behind another buffer overflow (CVE-2022-27666) that affected various Linux distributions.

This exploit provides attackers with a 4-byte store primitive like Copy Fail, allowing them to overwrite a small amount in the kernel’s page cache. However, it requires the unprivileged user to create a namespace—a step that’s blocked by Ubuntu through AppArmor.

2. RxRPC Page-Cache Write

Introduced in June 2023, this variant does not require the privilege to create a namespace. However, the rxrpc.ko module itself is not included in most distributions. For example, the default build of RHEL 10.1 does not ship rxrpc.ko, but Ubuntu loads it by default.

The Chain: Covering Each Other’s Blind Spots

“Chaining the two variants makes the blind spots cover each other,” Kim explained. “In an environment where user namespace creation is allowed, the ESP exploit runs first. Conversely, on Ubuntu, where user namespace creation is blocked but rxrpc.ko is built, the RxRPC exploit works.”

This chaining mechanism ensures that Dirty Frag works across virtually all major distributions, regardless of their specific security configurations.

Technical Deep Dive: The Root Cause

CloudLinx described the flaw as residing in the “ESP-in-UDP MSG_SPLICE_PAGES no-COW fast path and is reachable via the XFRM user netlink interface.”

AlmaLinux elaborated: “The bug lives in the in-place decryption fast paths of esp4, esp6, and rxrpc: when a socket buffer carries paged fragments that are not privately owned by the kernel (e.g., pipe pages attached via splice(2)/sendfile(2)/MSG_SPLICE_PAGES), the receive path decrypts directly over those externally-backed pages, exposing or corrupting plaintext that an unprivileged process still holds a reference to.”

In simpler terms: when the kernel decrypts data that belongs to user space (not kernel-owned memory), it writes directly over that memory without making a copy. This allows an unprivileged user to read or modify kernel data by manipulating the shared memory pages.

Immediate Mitigation

Until patches are available, it’s advised to blocklist the esp4, esp6, and rxrpc modules so they cannot be loaded:

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; true"

Important note: Dirty Frag can be triggered regardless of whether the algif_aead module is available. This means that even on systems where the Copy Fail mitigation (algif_aead blacklist) is applied, your Linux system is still vulnerable to Dirty Frag.

Reflection: The “Dirty” Legacy Continues

1. The Page Cache Attack Surface

Dirty Frag joins a growing family of “Dirty” vulnerabilities:

  • Dirty COW (2016): Race condition in copy-on-write
  • Dirty Pipe (2022): Pipe buffer overwrite
  • Copy Fail (2026): algif_aead page cache write
  • Dirty Frag (2026): ESP/RxRPC page cache write

The pattern is clear: the Linux kernel’s page cache management is a recurring attack surface. The fundamental issue is that the kernel trusts certain memory pages to be “safe” when they’re actually shared with user space. This trust assumption has been violated repeatedly over nearly a decade.

2. The Embosure Problem

Dirty Frag doesn’t have a CVE because the embargo was broken. This highlights a systemic issue in vulnerability disclosure:

  • Researchers report responsibly to maintainers
  • Maintainers need time to develop and test patches
  • Third parties leak details prematurely
  • Result: Zero-day exploits in the wild before fixes are ready

This cycle leaves defenders powerless. Without a CVE, many security tools can’t track the vulnerability. Without patches, administrators can only mitigate (not fix). And with public PoCs, attackers have a roadmap.

3. The Nine-Year-Old Bug

The xfrm-ESP variant was introduced in January 2017—nearly a decade ago. This raises uncomfortable questions:

  • How many similar bugs are lurking in old commits?
  • Why did it take nine years to discover this?
  • Are we getting better at finding bugs, or are bugs getting easier to find?

The answer is likely all three. Code auditing tools have improved, but the kernel has also grown exponentially. The attack surface is larger, and the complexity is higher.

4. Distribution-Specific Security

Dirty Frag’s chaining mechanism exploits differences between distributions:

  • Ubuntu: Blocks namespace creation (AppArmor) but includes rxrpc.ko
  • RHEL: Allows namespace creation but excludes rxrpc.ko

This is a reminder that “security through diversity” only works if attackers don’t chain exploits. When two different security decisions create two different attack vectors, the net result is less security, not more.

Lessons for System Administrators

1. Assume Local Access = Root Access

Dirty Frag proves that once an attacker has local unprivileged access, root is often just a command away. This means:

  • Multi-tenant systems are inherently risky
  • Container escapes become full system compromises
  • Untrusted users on shared hosts should be treated as adversaries

2. Mitigate Aggressively

Don’t wait for patches. If you’re not using IPSec (ESP) or RxRPC, blocklist the modules now. The performance impact is negligible, and the risk reduction is significant.

3. Monitor for Exploitation

Watch for:

  • Unexpected module loading (esp4, esp6, rxrpc)
  • Unprivileged users creating namespaces (where allowed)
  • Sudden privilege escalation events
  • Kernel panic patterns that match PoC behavior

Conclusion

Dirty Frag is a stark reminder that the Linux kernel, despite decades of scrutiny, still harbors deep-seated logic bugs that can be weaponized for root access. The fact that this vulnerability chain affects virtually every major distribution—and has existed in some form for nearly a decade—should humble us all.

In the cat-and-mouse game of kernel security, the mice are getting smarter. The only winning move is to assume breach, mitigate aggressively, and patch the moment fixes become available.

Tzar C. Umang is a technology leader with over 15 years of experience making new technologies work for different industries. As the Chief Technology Officer at Makerspace Innovhub OPC and the Lead Developer for SUI Philippines, he leads projects that create growth and opportunities for everyone. With a strong background in blockchain development, AI engineering, and cybersecurity, Tzar has worked with organizations like the DOST Smarter Philippines Project Management Office and US startup Auto Genie. He is committed to helping the next generation of tech professionals, serving as a cybersecurity instructor at the University of Luzon and a mentor for the Saleng Mentors Group. In his free time, Tzar focuses on building practical solutions for education, healthcare, and new businesses.

Site Footer