Dirty Frag: A 9‑Year‑Old Linux Kernel LPE Chain That Gives Root with One Command

The newly disclosed Dirty Frag vulnerability combines CVE‑2026‑43284 and CVE‑2026‑43500 to provide a local‑privilege‑escalation chain that can turn any unprivileged user into root on all Ubuntu releases with a single command, and the article explains its mechanics, impact, and emergency mitigations.

Ubuntu
Ubuntu
Ubuntu
Dirty Frag: A 9‑Year‑Old Linux Kernel LPE Chain That Gives Root with One Command

Vulnerability Overview

Dirty Frag combines two Linux kernel local‑privilege‑escalation bugs. CVE‑2026‑43284 affects the esp4 and esp6 modules of the IPsec ESP protocol and provides a 4‑byte arbitrary‑write primitive. CVE‑2026‑43500 affects the rxrpc module used by the AFS distributed file system and grants namespace‑creation rights. Chaining the two primitives allows modification of system binaries and escalation to root.

Root Cause

The kernel mishandles shared page fragments during splice / sendfile calls. In the in‑kernel decryption path the pages are treated as private data, letting a non‑privileged process retain a reference to decrypted plaintext, write to the page cache, and overwrite binaries.

Relation to Copy Fail

Copy Fail (CVE‑2026‑31431) used a single exploitation path via algif_aead and relied on a race condition. Dirty Frag uses two independent paths (ESP and RxRPC), bypasses the algif_aead blacklist, and does not depend on a race, making it more stable.

Historical Comparison

Dirty Cow (2016) – low stability, no constraints.

Dirty Pipe (2022) – high stability, write locations limited.

Copy Fail (April 2026) – medium stability, single path.

Dirty Frag (May 2026) – high stability, dual path, flexible writes.

Affected Distributions

All Ubuntu LTS releases from 14.04 through 26.04 are vulnerable. The vulnerability has been present since at least 2017 and also affects mainstream Linux distributions released in the past nine years (RHEL, CentOS Stream, AlmaLinux, Fedora, openSUSE, etc.).

Container‑Environment Risk

Standard deployment – high: local user can gain root; PoC publicly available.

Container host – high: compromised container can escape to host root.

K8s/OpenShift node – high: multi‑tenant clusters face greatest risk.

Pure container escape – medium: no direct PoC yet, but post‑escalation impact is severe.

Emergency Mitigation (3 steps)

Step 1 – Disable vulnerable modules

# Disable esp4, esp6, rxrpc module loading
 echo "install esp4 /bin/false" | sudo tee /etc/modprobe.d/dirty-frag.conf
 echo "install esp6 /bin/false" | sudo tee -a /etc/modprobe.d/dirty-frag.conf
 echo "install rxrpc /bin/false" | sudo tee -a /etc/modprobe.d/dirty-frag.conf
 # Update initramfs to prevent loading at boot
 sudo update-initramfs -u -k all

Step 2 – Unload loaded modules

# Unload the three modules if they are already loaded
 sudo rmmod esp4 esp6 rxrpc 2>/dev/null

Step 3 – Verify modules are not loaded

# Check for residual modules
 grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules && echo "⚠️ 受影响模块仍在运行,需要重启" || echo "✅ 受影响模块已禁用"

If the modules cannot be removed because they are in use, a system reboot is required.

Impact of Disabling Modules

IPsec VPN solutions (StrongSwan, Libreswan, etc.)

Encrypted tunnels

Kubernetes/container networking that relies on IPsec

AFS distributed file system

Patch Status and Upgrade

CVE‑2026‑43284 upstream patch released (commit f4c50a4034e6).

CVE‑2026‑43500 patch pending confirmation.

Ubuntu security updates tracked via USN notices.

AlmaLinux and RHEL have published patches.

Upgrade Procedure

# Check and install available updates
 sudo apt update
 sudo apt full-upgrade
 # Verify kernel version
 uname -r
 # Reboot to apply new kernel
 sudo reboot
Applying a patch without rebooting leaves the old vulnerable kernel running.

Post‑Patch Cleanup

After the kernel is patched and the system rebooted, remove the temporary mitigation files:

sudo rm /etc/modprobe.d/dirty-frag.conf
 sudo update-initramfs -u -k all

Post‑Intrusion Investigation Checklist

Kernel log anomalies:

sudo journalctl -k | grep -iE 'dirty|frag|esp|rxrpc|segfault'

Suspicious login records: last -a / lastlog Temporary directory files: ls -lat /tmp /var/tmp /dev/shm New SUID files (last 7 days): find / -perm -4000 -mtime -7 2>/dev/null Abnormal su/sudo activity: sudo grep -E 'su|sudo' /var/log/auth.log SSH key modifications: find ~/.ssh -mtime -7 New cron jobs: sudo crontab -l and ls /etc/cron.d/ New system services: systemctl list-units --type=service --state=running Privileged containers:

docker ps --filter status=running --format '{{.Names}} {{.Privileged}}'
If any anomalies are found, perform a full backup, reinstall the system, and rotate all credentials, as the attacker may have left persistent backdoors.
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Linux KernelmitigationUbuntuLPEDirty FragCVE-2026-43284CVE-2026-43500
Ubuntu
Written by

Ubuntu

Focused on Ubuntu/Linux tech sharing, offering the latest news, practical tools, beginner tutorials, and problem solutions. Connecting open-source enthusiasts to build a Linux learning community. Join our QQ group or channel for discussion!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.