Vulnerabilities & CVEs

Dirty Frag: Linux Kernel LPE Vulnerability Unpacked

Just when you thought the Linux kernel was finally catching a break, another local privilege escalation vulnerability has reared its ugly head. Dirty Frag, as it's been dubbed, joins the growing ranks of kernel flaws that let unprivileged users play admin.

Abstract representation of digital code flowing through a network, symbolizing a security vulnerability.

Key Takeaways

  • Dirty Frag is a newly disclosed local privilege escalation (LPE) vulnerability in the Linux kernel.
  • It requires chaining two distinct flaws: xfrm-ESP Page-Cache Write and RxRPC Page-Cache Write.
  • The vulnerability allows unprivileged users to escalate to root privileges on affected systems.
  • Unlike Copy Fail, Dirty Frag does not have an assigned CVE ID due to premature disclosure, potentially bypassing automated tracking.
  • Mitigations include unloading vulnerable kernel modules or applying live patches, but may cause service disruptions.

The Linux kernel just can’t catch a break. Less than two weeks after the rather awkwardly named “Copy Fail” vulnerability (CVE-2026-31431) dropped into the public consciousness, another local privilege escalation (LPE) exploit has emerged. This one’s called “Dirty Frag,” and it was discovered by Hyunwoo Kim. The name sounds less like a security flaw and more like a questionable fast-food offering, but its impact is decidedly less appetizing.

Dirty Frag, like Copy Fail before it, allows a regular, unprivileged user to claw their way up to root privileges. The typical disclosure channels got a bit scrambled here; an unrelated third party apparently broke the embargo. So, no shiny CVE ID for this one. It just sort of… appeared.

The Two-Step Tango to Root

What makes Dirty Frag particularly interesting, and frankly, a bit alarming, is that it’s not just one simple bug. Oh no. This requires chaining two separate vulnerabilities. We’re talking about the xfrm-ESP Page-Cache Write and the RxRPC Page-Cache Write. The first lives in the IPsec ESP decryption paths, while the second skulks around in the RxRPC module.

Both have a similar DNA, though. The core issue? A zero-copy send path. When splice() decides to stick a reference to a page cache page into the frag slot of a sender-side skb— a page the attacker only has read access to — the receiver-side kernel code then proceeds to do in-place crypto magic on that very fragment. The result: the page cache of files you really shouldn’t be able to touch, like /etc/passwd or /usr/bin/su, get rewritten in RAM. Every subsequent read? It sees the modified copy. It’s like leaving your house keys with a particularly mischievous squirrel.

Not Copy Fail, But Cousin.

Dirty Frag and Copy Fail are definitely related. Think of them as siblings from the same kernel crypto family, but they were discovered by different researchers and live in different parts of the kernel’s sprawling codebase. Copy Fail messes with the algif_aead module in AF_ALG. Dirty Frag, on the other hand, goes straight for the ESP and RxRPC decryption fast paths. The table here lays out the distinctions, but the headline is this: both end up corrupting the page cache via kernel crypto operations. Different bugs, same nasty outcome.

Factors Copy Fail (CVE-2026-31431) Dirty Frag
Kernel Subsystem AF_ALG / algif_aead xfrm ESP (esp4, esp6) and RxRPC
CVE Assigned Yes (CVE-2026-31431) No (embargo broken before allocation)
Controlled Bytes Written 4 bytes 4 bytes (per sub-vulnerability)
Chaining Required No (single vulnerability) Yes (two sub-vulnerabilities chained)
Discoverer Theori (Research Team) Hyunwoo Kim (@v4bel)
Public Disclosure Date 29 April 2026 7 May 2026

Table 1:Comparison of Copy Fail and Dirty Frag

What’s particularly neat — and by neat, I mean terrifying — about Dirty Frag is how the two sub-vulnerabilities cover each other’s weaknesses. Neither the xfrm-ESP part nor the RxRPC part on its own is reliable enough for a full root escalation. But combine them? Bam. Immediate root on most Linux flavors. It’s like finding out your diet soda is actually 80 proof.

Why Should You Care (Besides the Obvious)?

Dirty Frag is more than just another CTF challenge fodder. Firstly, it affects a broad swathe of Linux distributions, with kernels going back to around 2017. Sound familiar? Copy Fail had a similar reach. Secondly, because that embargo broke prematurely, the exploit code is already out there. Publicly available exploit code for an LPE is never good news. Thirdly, the lack of a CVE ID means automated systems that track vulnerabilities by CVE might just sleep through this one. It’s a stealth bomber.

And if you’re running containers? That’s a whole other level of fun. An attacker could potentially use Dirty Frag to overwrite binaries in the base layer and then… escape to the host. So, yes, you should care.

Putting the Lid Back On

Patched kernels and live patches are apparently in the works and being tested. Good. Until then, if you’re not keen on waiting, there are mitigations. The most immediate one involves denylisting and unloading the vulnerable kernel modules: esp4, esp6, and rxrpc. You can do this by adding lines to /etc/modprobe.d/dirtyfrag-mitigation.conf.

But hold your horses. Denylisting esp4 and esp6 means no more IPsec ESP. If your VPN tunnels or encrypted comms rely on that, you’re going to have a bad time. Unloading rxrpc impacts services that depend on it, like AFS filesystems. So, before you go disabling things willy-nilly, understand the fallout. Assess the impact. Don’t be the admin who broke the internet while trying to fix a hole in the kernel.

Live patching is also an option where available. CloudLinux, for instance, is rolling out KernelCare live patches for affected versions. This means patching without a reboot, which is always a win. The advice, as always, is to patch early, patch often, and don’t assume your system is too obscure to be a target. Because clearly, it’s not.


🧬 Related Insights

Frequently Asked Questions

What does Dirty Frag actually do? Dirty Frag is a local privilege escalation vulnerability in the Linux kernel that allows an unprivileged user to gain root access by chaining two related flaws in the IPsec ESP and RxRPC modules.

Will this affect my Linux distribution? It’s likely. Dirty Frag affects many major Linux distributions with kernels dating back to approximately 2017, similar to the recent Copy Fail vulnerability.

How can I fix Dirty Frag? The primary mitigation is to update your kernel to a patched version as soon as it becomes available. Until then, you can denylist or unload the vulnerable kernel modules (esp4, esp6, rxrpc), but be aware of potential service disruptions.

Maya Thompson
Written by

Threat intelligence reporter. Tracks CVEs, ransomware groups, and major breach investigations.

Frequently asked questions

What does Dirty Frag actually do?
Dirty Frag is a local privilege escalation vulnerability in the Linux kernel that allows an unprivileged user to gain root access by chaining two related flaws in the IPsec ESP and RxRPC modules.
Will this affect my Linux distribution?
It's likely. Dirty Frag affects many major Linux distributions with kernels dating back to approximately 2017, similar to the recent Copy Fail vulnerability.
How can I fix Dirty Frag?
The primary mitigation is to update your kernel to a patched version as soon as it becomes available. Until then, you can denylist or unload the vulnerable kernel modules (`esp4`, `esp6`, `rxrpc`), but be aware of potential service disruptions.

Worth sharing?

Get the best Cybersecurity stories of the week in your inbox — no noise, no spam.

Originally reported by SANS Internet Storm Center

Stay in the loop

The week's most important stories from Threat Digest, delivered once a week.