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
CVE-2026-43284-dirtyfrag-detection — Lab validation report and detection artifacts for CVE-2026-43284 (DirtyFrag) Linux LPE. Provides auditd telemetry, event correlation rules, and SOC-oriented detection logic for the XFRM/ESP page-cache write path. | Kitploit
Tools/GitHubGitHub/g0thamrabb1t/cve-2026-43284-dirtyfrag-detection
Privilege EscalationVulnerability AnalysisForensicsThreat IntelligenceIntrusion DetectionLearning & EducationIncident ResponseLog AnalysisBinary Exploitation

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Labs & Practice
GitHubg0thamrabb1t/cve-2026-43284-dirtyfrag-detection

CVE-2026-43284-dirtyfrag-detection

Lab validation report and detection artifacts for CVE-2026-43284 (DirtyFrag) Linux LPE. Provides auditd telemetry, event correlation rules, and SOC-oriented detection logic for the XFRM/ESP page-cache write path.

View Repository
43 months agoNot yet reviewed

DirtyFrag CVE-2026-43284 PoC Validation and auditd Detection

Scope: Linux Local Privilege Escalation (LPE) validation focused on the XFRM/ESP path associated with CVE-2026-43284.

This repository contains an English report and evidence artifacts from a controlled laboratory validation of the public DirtyFrag PoC. The focus is not on providing an exploitation guide, but on documenting what was visible in Linux audit logs and how those events can be transformed into practical SOC detection logic.

Full PDF report:

EN: reports/DirtyFrag_CVE-2026-43284_EN.pdf

PL: reports/DirtyFrag_CVE-2026-43284_PL.pdf

Purpose and scope

The test was performed to verify whether a normal local user could obtain a root shell in a vulnerable lab VM and to determine which events can be captured with auditd.

CVE-2026-43284 relates to improper handling of shared page fragments during ESP/IPsec operations. Under specific conditions, a local attacker can influence data in the page cache and escalate privileges. Ubuntu Security rates this vulnerability as CVSS 3.1: 7.8 High.

VulnerabilityScopeComponentCVSS
CVE-2026-43284XFRM/ESP Page-Cache WriteXFRM / ESP, esp4/esp67.8 High

Technical references:

  • Public DirtyFrag PoC repository: https://github.com/V4bel/dirtyfrag
  • Ubuntu Security - CVE-2026-43284: https://ubuntu.com/security/CVE-2026-43284
  • Ubuntu blog - Dirty Frag Linux vulnerability fixes available: https://ubuntu.com/blog/dirty-frag-linux-vulnerability-fixes-available

Test environment

Full system baseline: evidence/logs/system-info-table.md

Result

Before PoC execution, the test context was a normal user account. After running ./exp, a root shell was obtained and confirmed with whoami and id.

DirtyFrag root shell confirmation

Evidence collection

After the test, auditd logs and summary outputs were exported to a local evidence directory and copied into this repository.

Copy audit log

Filter audit log

ausearch export

aureport export

System information export

Evidence directory listing

Repository structure

auditd detection logic

The most useful detection is not a single event. The strongest signal is the full chain observed in a short time window:

root@kitploit:~
user namespace -> vmsplice/splice -> ESP/XFRM -> su -> root shell with AUID of a normal user

Relevant auditd keys

Reconstructed event chain

Example SIEM correlation

root@kitploit:~
IF
  dirty_frag_unshare by auid>=1000
  AND count(dirty_frag_vmsplice + dirty_frag_splice by same exe or pid) >= 3 within 600s
  AND MAC_IPSEC_EVENT / XFRM activity within 1200s
  AND (dirty_frag_su_exec OR execve with euid=0 and auid>=1000) within 1200s
THEN
  alert = "Possible DirtyFrag CVE-2026-43284 Linux LPE"
  severity = high/critical

SOC recommendations

  • Patch the kernel and enforce reboot into the patched kernel after updates.
  • Collect syscall telemetry with auditd, Falco, eBPF-based tools or EDR.
  • Do not alert on a single euid=0 event alone; this also catches legitimate sudo usage.
  • Correlate unshare, vmsplice, splice, XFRM/ESP activity, su, and root process creation from a normal user session.
  • Consider restricting kernel.unprivileged_userns_clone where application compatibility allows it.
  • Review whether ESP/IPsec modules are required on a given host class and restrict unnecessary module loading where appropriate.
  • Forward logs to a remote collector or SIEM; after LPE, local logs can be modified by the attacker.
  • Monitor auditd quality: lost should remain 0 during testing and production monitoring.
  • Maintain a Linux LPE triage playbook covering host isolation, audit log collection, running kernel verification and loaded module capture.

Notes

The collected auditd status showed lost=2555, which means some audit events may have been dropped. The key chain is still visible, but future tests should increase audit backlog and confirm lost=0 before running the PoC.

The report intentionally focuses on CVE-2026-43284 / XFRM/ESP to avoid mixing the SOC detection scope with other DirtyFrag-related paths.

Download Tool
ParameterValue
DistributionUbuntu 24.04.4 LTS / noble
Test kernel6.17.0-23-generic
Architecturex86_64
VirtualizationOracle VirtualBox
CPU12th Gen Intel(R) Core(TM) i5-12450H, 1 vCPU
RAM12 GiB
Root filesystemext4
Test useruid=1000(user), gid=1000(user), groups include sudo, adm, lpadmin
unprivileged_userns_clone1
auditdactive, DirtyFrag/LPE audit rules loaded
AppArmoractive; unprivileged_userns profile visible in logs
PathDescription
docs/DirtyFrag_CVE-2026-43284_auditd_detection_report.docxEnglish DOCX report.
evidence/logs/audit.logFull auditd log containing raw events.
evidence/logs/dirtyfrag-filtered.logFiltered log containing DirtyFrag/LPE-related events.
evidence/logs/dirty_frag_vmsplice.logvmsplice events from the PoC process.
evidence/logs/dirty_frag_splice.logsplice events from the PoC process.
evidence/logs/dirty_frag_execve_su.logExecution of /usr/bin/su after PoC activity.
evidence/logs/lpe_root_exec_from_user_session.logProcesses executed as root from the original user session.
evidence/logs/audit-key-summary.txtEvent count summary by auditd key.
evidence/logs/audit-exec-summary.txtExecutable summary from aureport.
evidence/logs/audit-rules-loaded.txtActive auditd detection rules.
evidence/logs/system-info-table.mdSystem baseline table.
evidence/screenshots/01-dirtyfrag-root-shell.pngScreenshot confirming user -> root shell transition.
tools/generate-system-info-table.shHelper script used to generate the system information table.
KeyMeaning
dirty_frag_unshareunshare executed by an unprivileged user; indicates user namespace preparation.
dirty_frag_vmsplicevmsplice activity from a user process; main page-cache signal.
dirty_frag_splicesplice activity from a user process; correlated with vmsplice.
dirty_frag_su_exec / dirty_frag_execve_suExecution of /usr/bin/su after the page-cache phase.
lpe_root_exec_from_user_sessionexecve with euid=0 in a session owned by auid>=1000; strong LPE proof when correlated.
TimeEventArtifactMeaning
21:10:48auditd rules loadedaudit-rules-loaded.txt, audit.logMonitoring was active before PoC execution.
21:11:32unshare by ./expdirtyfrag-filtered.logThe user process entered unprivileged_userns.
21:11:32-21:11:39vmsplice / splice by ./expdirty_frag_vmsplice.log, dirty_frag_splice.logPage-cache behavior visible through syscall telemetry.
21:11:32-21:11:39MAC_IPSEC_EVENT / XFRM ESPaudit.logSAD-add and SA-icv-failure events on 127.0.0.1 with SPI 0xdeadbeXX.
21:11:39su -dirty_frag_execve_su.logAttempt to enter a root shell after PoC execution.
21:11:39sh / dash as rootlpe_root_exec_from_user_session.logUID=root and EUID=root while AUID=user.
21:11:48whoami as rootlpe_root_exec_from_user_session.log, screenshotManual confirmation of successful escalation.
21:11:49id as rootlpe_root_exec_from_user_session.log, screenshotManual confirmation of uid=0(root).