Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Dirty-Frag-CVE-2026-43284 — A report on Dirty Frag, which is a Linux Local Privilege Escalation (LPE) vulnerability chain that allows an unprivileged user to gain root access | Kitploit
Tools/GitHubGitHub/kuniyal08/dirty-frag-cve-2026-43284
Privilege EscalationVulnerability AnalysisExploitationForensicsIntrusion DetectionLearning & EducationIncident ResponseLabs & Practice

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
GitHub
kuniyal08/dirty-frag-cve-2026-43284

Dirty-Frag-CVE-2026-43284

A report on Dirty Frag, which is a Linux Local Privilege Escalation (LPE) vulnerability chain that allows an unprivileged user to gain root access

View Repository
11 day agoNot yet reviewed

Dirty-Frag-CVE-2026-43284

Dirty Frag (CVE‑2026‑43284 & CVE‑2026‑43500) — Exploit Reproduction & Detection Lab

This repository documents the end‑to‑end reproduction, detection engineering, and incident response for the Dirty Frag Linux kernel local privilege escalation (LPE) chain. Dirty Frag chains two deterministic logic bugs—CVE‑2026‑43284 (xfrm/ESP) and CVE‑2026‑43500 (RxRPC)—to let an unprivileged local user overwrite the page cache of read‑only files (e.g., /usr/bin/su) and obtain a root shell.

Key Findings

  • ✅ Successfully exploited Dirty Frag on Kali Linux 2026.1 (kernel 6.18.12+kali‑amd64)
  • ✅ Deployed auditd syscall‑level detection rules
  • ✅ Created Sigma and YARA rules for cross‑platform detection
  • ✅ Developed a complete incident response playbook
  • ✅ Documented every step with screenshots for portfolio use

Why This Matters

Dirty Frag is a logic flaw, not a memory corruption. It is deterministic, affects virtually every Linux distribution shipped since 2017, and is completely fileless—traditional file integrity monitoring (AIDE, Tripwire) cannot see it. The public PoC is a single C file that chains both the ESP and RxRPC paths.

Lab Environment

ComponentDetails
HypervisorVirtualBox
Target VM

Reproduction Steps

1. Verify Kali Version & Kernel

The lab starts by confirming the target is running a vulnerable kernel.

root@kitploit:~
cat /etc/os-release | head -3
uname -r

📸 screenshots/pre_exploit_id.png — Kali 2026.1 release and kernel details. Output of uname -r shows vulnerable kernel 6.18.12+kali‑amd64. 2. Check for Vulnerable Modules

The exploit requires the esp4, esp6, and rxrpc kernel modules.

root@kitploit:~

lsmod | grep -E "esp4|esp6|rxrpc"
modinfo esp4 esp6 rxrpc 2>/dev/null | grep -E "^(name|depends)"

📸 screenshots/module_mitigation.png — lsmod and modinfo confirm the vulnerable modules are available. 3. Python Version

The Python‑based variant of the PoC needs Python 3.10+. We verify the interpreter.

root@kitploit:~

python3 --version

Python 3.12 is installed and ready. 4. Vulnerability Checker (Non‑Destructive)

Before running the full exploit, a safe checker script confirms the system is vulnerable.

root@kitploit:~

python3 poc/check_vulnerable.py

The checker reports "potentially vulnerable", clearing the way for exploitation. 5. Create Unprivileged User

An unprivileged testuser account simulates an attacker without special rights.

root@kitploit:~

sudo useradd -m testuser
sudo passwd testuser
su - testuser
id

📸 id shows UID 1001, confirming non‑root access. 6. Clone & Execute the Exploit

The official V4bel PoC is cloned and compiled from the unprivileged account.

root@kitploit:~

git clone https://github.com/V4bel/dirtyfrag.git
cd dirtyfrag
gcc -O0 -Wall -o exp exp.c -lutil
./exp

📸 screenshots/exploit_execution.png — The exploit overwrites the page cache of /usr/bin/su and detonates the corrupted binary.

📸 screenshots/post_exploit_root.png — whoami and id output prove full root escalation. 7. Verify Fileless Nature (No Disk Modification)

The exploit only corrupts the in‑memory page cache. The on‑disk /usr/bin/su retains its original checksum.

root@kitploit:~

sha256sum /usr/bin/su

The sha256sum matches the original package hash even after exploitation, confirming no disk modification. 8. Post‑Exploit Cleanup (Critical!)

After running the exploit, the page cache is contaminated. Always flush it:

root@kitploit:~

echo 3 | sudo tee /proc/sys/vm/drop_caches
# Or reboot the system

Detection Engineering

Dirty Frag cannot be detected by file integrity monitoring. Instead, we focus on the syscall‑level primitives it uses. auditd Rules

We deploy custom auditd rules that trigger on:

root@kitploit:~
socket(AF_ALG) family 38 and socket(AF_RXRPC) family 21 creation

splice() syscall usage

unshare(CLONE_NEWUSER | CLONE_NEWNET) namespace creation

Read access to setuid binaries by unprivileged processes
root@kitploit:~

# /etc/audit/rules.d/dirtyfrag.rules
-a always,exit -F arch=b64 -S socket -F a0=38 -F uid!=0 -k dirtyfrag_af_alg
-a always,exit -F arch=b64 -S socket -F a0=21 -F uid!=0 -k dirtyfrag_rxrpc
-a always,exit -F arch=b64 -S splice -F uid!=0 -k dirtyfrag_splice
-a always,exit -F arch=b64 -S unshare -F uid!=0 -k dirtyfrag_namespace
-w /usr/bin/su -p r -k dirtyfrag_suid_read

All custom rules are active, verified with auditctl -l.

After running the exploit a second time, we see alerts for the exact syscalls used:

root@kitploit:~
ausearch -k dirtyfrag_af_alg shows an AF_ALG socket creation event from the testuser process

ausearch -k dirtyfrag_splice shows a splice() event from the same PID, a strong correlation

ausearch -k dirtyfrag_namespace shows namespace creation

Sigma Rule

A Sigma rule translates the auditd findings into a vendor‑neutral SIEM format.

File: detection/sigma/dirty_frag_exploit.yml

YARA Rule

A YARA rule helps identify Dirty Frag exploit code on disk and in memory.

File: detection/yara/dirty_frag_exploit.yar

Detection Coverage Summary Layer What it Sees Status auditd AF_ALG/AF_RXRPC socket + splice syscalls + unshare ✅ Deployed Sigma Syscall patterns via SIEM ✅ Rule ready YARA PoC code on disk / in memory ✅ Rule ready FIM (AIDE/Tripwire) File changes ❌ Blind – no disk write occurs Incident Response Playbook

A full incident response report is available in reports/incident-dirtyfrag.md. It includes:

root@kitploit:~
Executive summary — Dirty Frag exploitation observed

Indicators of compromise (IoCs) — auditd alerts for AF_ALG/AF_RXRPC socket creation, splice() calls, unshare namespace events, and SUID binary execution by non‑root processes

MITRE ATT&CK mapping — T1068 (Exploitation for Privilege Escalation), T1611 (Escape to Host)

Containment and eradication steps — Module blacklisting, page cache flush, kernel upgrade

Lessons learned regarding fileless attacks and the importance of syscall‑level auditing

Mitigation

Immediate mitigation (no reboot required):

root@kitploit:~

echo "install esp4 /bin/false" | sudo tee /etc/modprobe.d/dirtyfrag.conf
echo "install esp6 /bin/false" | sudo tee -a /etc/modprobe.d/dirtyfrag.conf
echo "install rxrpc /bin/false" | sudo tee -a /etc/modprobe.d/dirtyfrag.conf
sudo rmmod esp4 esp6 rxrpc 2>/dev/null

⚠️ Impact: Disabling these modules breaks IPsec VPNs and AFS filesystem functionality.

A ready‑to‑use mitigation script is included at mitigation/dirtyfrag_mitigation.sh.

Permanent fix: Upgrade your kernel to a patched version.

Download Tool
Kali Linux 2026.1
Kernel6.18.12+kali‑amd64
Exploit PoCV4bel/dirtyfrag
Detectionauditd, Sigma, YARA