DirtyClone Linux Vulnerability Lets Local Attackers Gain Root Through Cloned Packets
A new Linux kernel privilege escalation flaw called DirtyClone can let a local attacker gain root access by abusing cloned network packets and page-cache-backed memory.
The vulnerability is tracked as CVE-2026-43503. According to JFrog Security Research, the bug belongs to the DirtyFrag family and affects how Linux socket buffers preserve safety metadata when packet fragments are copied or moved.
Access content across the globe at the highest speed rate.
70% of our readers choose Private Internet Access
70% of our readers choose ExpressVPN
Browse the web from multiple devices with industry-standard security protocols.
Faster dedicated servers for specific actions (currently at summer discounts)
The risk is serious for multi-user servers, developer systems, CI runners, container hosts, and cloud workloads where low-privileged code can run. DirtyClone is local, not a direct remote internet exploit, but it can turn a limited foothold into full system control.
What Is DirtyClone?
DirtyClone is a Linux local privilege escalation vulnerability in the kernel networking stack. It affects how socket buffer fragments carry the SKBFL_SHARED_FRAG marker during certain packet-cloning and fragment-transfer paths.
The NVD entry for CVE-2026-43503 says two helper functions, __pskb_copy_fclone() and skb_shift(), fail to propagate the shared-frag flag when moving fragments from one socket buffer to another.
That missing flag matters because later code may treat page-cache-backed memory as ordinary writable packet data. In the wrong path, an in-place writer can modify cached contents of a root-owned read-only file without changing the file on disk.
| Item | Details |
|---|---|
| Common name | DirtyClone |
| CVE | CVE-2026-43503 |
| Bug class | Linux kernel page-cache corruption through socket buffer handling |
| Impact | Local privilege escalation to root |
| Severity | CVSS 8.8 High from the kernel.org CNA score listed by NVD |
| Main fix | Apply the vendor kernel update that includes the CVE-2026-43503 patch |
Why Cloned Packets Create a Root Risk
Linux uses socket buffers to move packet data through the networking stack. Some of that packet data can reference pages that originally came from files in the page cache.
To protect those pages, the kernel uses metadata to show that a packet fragment is shared with externally owned or file-backed memory. If that marker disappears during packet copying, later code may not make a private copy before writing.
DirtyClone abuses that gap. JFrog says the issue can be triggered through packet duplication paths, including nftables duplication or TEE-style packet copying, before ESP processing reaches the modified socket buffer.
How the Exploit Works at a High Level
The exploit does not need to replace a privileged file on disk. Instead, it targets the file’s cached memory and changes what the kernel serves from RAM.
JFrog’s proof of concept used a privileged binary as the page-cache target, then routed crafted packet data through local networking and XFRM/IPsec paths. When the shared-frag marker was lost, in-place processing could overwrite selected cached bytes.

This can allow the next execution of the cached privileged binary to behave differently, including bypassing authentication logic. Because the disk file remains unchanged, file-integrity tools that only compare on-disk hashes may miss the tampering.
- The attacker needs local code execution first.
- The bug can turn a limited account into root under the right conditions.
- The disk file is not directly modified.
- On-disk integrity monitoring may not catch the attack.
- Kernel patching remains the main fix.
DirtyClone Is Part of the DirtyFrag Family
DirtyClone follows a recent group of Linux page-cache corruption bugs involving networking and cryptographic processing paths. These flaws are related by class, not by one identical exploit path.
Earlier research on Dirty Frag described how ESP and RxRPC paths could be used to modify page-cache-backed memory and escalate privileges. DirtyClone shows that fixing one trigger was not enough to remove the broader attack pattern.
The key lesson is that page-cache-backed memory must keep its safety marker across every relevant socket-buffer transformation. If one copy, clone, coalescing, or segmentation path drops that marker, the same class of bug can reappear.
| Vulnerability | CVE | Area | Main Idea |
|---|---|---|---|
| Copy Fail | CVE-2026-31431 | AF_ALG crypto | Page-cache write through cryptographic processing |
| DirtyFrag | CVE-2026-43284 and CVE-2026-43500 | XFRM/IPsec and RxRPC | Page-cache corruption through packet and crypto handling |
| Fragnesia | CVE-2026-46300 | XFRM ESP-in-TCP | Shared-fragment marker loss in another packet path |
| DirtyClone | CVE-2026-43503 | Socket buffer fragment transfer | Shared-frag marker loss during packet clone or movement |
What the Kernel Fix Changes
The upstream fix preserves the shared-frag marker when socket buffer fragments are moved or copied through affected helper paths. This keeps later in-place writers from treating shared page-cache-backed memory as safely writable packet data.
The CVE record says the fix sets SKBFL_SHARED_FRAG on destination socket buffers whenever fragment descriptors are actually moved from a source buffer.
JFrog says the issue was reported to Linux kernel maintainers on May 19, 2026, after a related upstream report on May 16. The patch was merged into mainline on May 21, and Linux v7.1-rc5 was the first fixed release tag.
Which Systems Are Most Exposed?
The highest-risk systems are those that allow untrusted or semi-trusted local code to run. That includes shared Linux hosts, CI/CD runners, Kubernetes worker nodes, container platforms, developer workstations, research systems, and sandbox services.
Unprivileged user namespaces can raise the risk because they may let a low-privileged user obtain namespace-local CAP_NET_ADMIN. That capability can expose networking operations needed by some exploit paths.
However, exploitability depends on more than a kernel version string. Kernel patch state, namespace policy, loaded modules, XFRM/IPsec availability, container configuration, and distribution hardening all affect practical risk.
- Shared hosting servers should receive priority patching.
- CI runners should be reviewed because they execute untrusted build steps.
- Kubernetes worker nodes need host kernel updates, not only container updates.
- Developer machines should update if they run cloned code or test packages.
- Systems with user namespaces enabled should receive extra scrutiny.
Ubuntu Has Published Fixed Kernel Versions
Canonical lists CVE-2026-43503 as a CVSS 8.8 High issue with Ubuntu priority Medium. The Ubuntu security tracker says the flaw can allow a local attacker to escalate privileges or possibly escape a container.
Ubuntu’s tracker shows fixed kernel packages for several active releases, including 26.04 LTS, 25.10, 24.04 LTS, and 22.04 LTS in the main linux package line. It also shows some older or specialized kernel streams as still vulnerable or in progress.
Administrators should check the exact kernel package they run. A server can still be vulnerable after package installation if it has not rebooted into the patched kernel.
Debian Tracks Fixed Packages Across Releases
Debian also lists CVE-2026-43503 in its security tracker. The Debian tracker shows fixed versions for security package lines across Bullseye, Bookworm, Trixie, Forky, and Sid.
The tracker separates base release package status from security package status. That distinction matters because an installed host may not match the fixed version if security updates have not been applied.
Debian administrators should confirm both the installed package version and the running kernel. They should also verify that systems using live migration, container workloads, or long uptime have actually restarted into a fixed kernel.
Red Hat and Fedora Users Should Track Vendor Status
Red Hat’s public Bugzilla entry for CVE-2026-43503 classifies the issue as high priority and high severity. The Red Hat Bugzilla entry tracks the kernel shared-frag marker issue and links it to upstream kernel advisory material.
Fedora and Red Hat-derived environments should follow distribution-specific kernel updates rather than relying on upstream mainline version numbers. Enterprise kernels often receive backported fixes without changing to the newest mainline kernel series.
That means a “fixed” system may still report an older kernel branch. The important point is whether the vendor backported the CVE-2026-43503 fix into the installed kernel package.
| Distribution or Source | What to Check | Why It Matters |
|---|---|---|
| Ubuntu | Exact kernel package status in the Ubuntu tracker | Some streams are fixed while others remain in progress |
| Debian | Security package version and running kernel | Fixed packages differ by release and security branch |
| Red Hat and Fedora | Vendor advisory and backported kernel package | Enterprise kernels may be fixed without moving to mainline 7.1 |
| Container hosts | Host kernel, not only container image version | Containers share the host kernel |
| Cloud platforms | Provider kernel update and livepatch status | Fleet updates may require reboot scheduling or livepatch verification |
Why File Integrity Monitoring May Not Be Enough
DirtyClone is notable because the on-disk file can remain untouched. The attack changes cached memory, so disk-based hash checks may still show a clean privileged binary.
That makes traditional file-integrity monitoring incomplete as a detection control. Tools that compare stored hashes against files on disk may not see the runtime page-cache change.
This does not make monitoring useless. It means defenders need kernel patching, behavioral detection, and visibility into suspicious local privilege escalation activity, not only file checks.
Mitigation Before Full Patching
The best fix is to apply the vendor kernel update that includes the CVE-2026-43503 patch, then reboot or confirm livepatch coverage. Temporary mitigations can reduce exposure, but they may affect legitimate workloads.
JFrog recommends blocking CAP_NET_ADMIN acquisition where possible by restricting unprivileged user namespaces. It also recommends blacklisting esp4, esp6, and rxrpc modules if those features are not used.
These steps should be tested before broad deployment. Disabling user namespaces can affect rootless containers, browser sandboxes, developer tools, and application isolation features. Disabling IPsec-related modules can break VPNs, encrypted tunnels, or network security functions.
- Install fixed kernel packages from the operating system vendor.
- Reboot into the patched kernel or verify livepatch status.
- Restrict unprivileged user namespaces where operations allow.
- Remove unnecessary CAP_NET_ADMIN access from containers and users.
- Disable esp4, esp6, or rxrpc only if they are not required.
- Review container and CI workloads that execute untrusted code.
Detection Signals for Security Teams
DirtyClone is difficult to detect after the fact because JFrog says the attack leaves no kernel logs or audit traces and bypasses common on-disk integrity checks.
Security teams should still monitor for precursor behavior. That includes unexpected use of user namespaces, network namespaces, CAP_NET_ADMIN acquisition, nftables duplication rules, XFRM/IPsec configuration, and suspicious execution of privileged binaries after unusual local networking activity.
The Debian security tracker and Ubuntu CVE page should be used to confirm patch status, while endpoint and workload telemetry should focus on local privilege escalation attempts.
DirtyClone Shows Why Complete Patch Chains Matter
DirtyClone matters because it shows how a vulnerability class can survive partial fixes. The original DirtyFrag mitigations addressed known paths, but later analysis found additional socket-buffer transformations that could drop the same safety marker.
The earlier Dirty Frag analysis warned that page-cache write primitives can be reliable and serious even when they require local access. DirtyClone reinforces that warning through another route into the same class of risk.
Linux administrators should not rely on one mitigation for one named bug. They should make sure the full patch chain for DirtyFrag-family vulnerabilities has landed in their distribution kernel.
What Administrators Should Do Now
Administrators should inventory Linux systems that allow local users, containers, CI jobs, plugins, notebooks, or third-party code. Those systems should move to the front of the patching queue.
The Red Hat tracker and other vendor pages can help teams confirm whether a backported fix exists for their kernel stream. For upstream context, the JFrog write-up explains why the patch must preserve shared-frag metadata across multiple socket-buffer paths.
Teams should avoid testing public root exploits on production systems. Safer validation means checking vendor package status, confirming the booted kernel, reviewing namespace policy, and verifying whether relevant modules and capabilities are exposed.
FAQ
DirtyClone is a Linux kernel local privilege escalation vulnerability tracked as CVE-2026-43503. It affects socket buffer fragment handling and can allow a local attacker to gain root access under the right conditions.
DirtyClone is not a direct unauthenticated remote exploit. The attacker generally needs local code execution or a low-privileged account first, but the bug is still serious on shared hosts, CI runners, container nodes, and developer systems.
DirtyClone can modify cached file contents in memory without changing the file on disk. Tools that only compare on-disk file hashes may not detect that runtime page-cache tampering.
Administrators should install the vendor kernel update that includes the CVE-2026-43503 fix, then reboot into the patched kernel or confirm that a trusted livepatch has been applied.
Temporary mitigations include restricting unprivileged user namespaces, removing unnecessary CAP_NET_ADMIN access, and disabling esp4, esp6, or rxrpc modules where they are not needed. These controls should be tested because they can affect legitimate workloads.
Read our disclosure page to find out how can you help VPNCentral sustain the editorial team Read more
User forum
0 messages