1. 漏洞概要
Dirty Frag漏洞允许一个仅有普通用户权限的攻击者获取整个Linux系统的root管理员权限。
2. 复现方法
此漏洞的复现方法主要分为三步:确认存在漏洞的模块、获取并编译公开的PoC、执行PoC以获取root权限。
请务必在你自己拥有合法授权的测试环境(如独立的虚拟机)中进行,切勿在未经授权的生产系统上尝试。执行PoC可能导致内核不稳定或数据损坏。在开始前,请确保测试系统没有重要数据,或已做好完整快照。
2.1 环境准备:确认漏洞模块存在
Dirty Frag 漏洞依赖于esp4, esp6, rxrpc这三个内核模块。请使用以下命令检查目标系统是否存在这些模块:
lsmod | grep-E'esp4|esp6|rxrpc'
如果返回结果中显示了上述模块,则系统满足漏洞利用的基本条件之一。POC在github已经公开,可自行下载编译测试,以普通用户身份运行编译好的exp程序。如果漏洞利用成功,你会看到shell提示符直接变为root(#)。漏洞利用成功后,你将获得一个具有root权限的shell,可以执行任何命令.这标志着一个仅有普通用户权限的攻击者已成功获得系统的最高控制权。
3. 修复与缓解建议
截至2026-05-08,Linux内核主线及各大发行版尚无官方补丁可供安装修复。因此,当前最有效的措施是临时缓解方案。
3.1 临时缓解方案:禁用受影响的内核模块
由于Dirty Frag 利用的漏洞位于 esp4、esp6 和 rxrpc 这三个内核模块中,完全禁用它们是最直接的防御方法。这些模块与IPSec网络和AFS文件系统相关,大多数桌面系统和普通服务器并不依赖它们。
请使用以下命令进行缓解:
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; true"
3.2 长期修复方案
唯一的根本性解决方案是等待各Linux发行版发布包含安全补丁的内核更新(Backport)。
密切关注你所使用的Linux发行版的官方安全公告(Security Advisory)。
当补丁发布后,立即通过系统的包管理器(如apt, yum, dnf, pacman等)更新内核(kernel) 和内核模块(kernel-modules)。
安装完成后,重启系统以使新内核生效。
3.3 验证是否已保护
在你实施了上述缓解或修复方案后,可以再次运行以下命令来验证:
lsmod | grep -E'esp4|esp6|rxrpc'
如果没有任何输出,则表示这些模块已成功卸载且未加载,你的系统目前是安全的。