Linux 内核再爆提权漏洞!Dirty Frag 潜伏 9 年,一行命令 root,所有 Ubuntu 中招
Copy Fail 刚修补,Dirty Frag 又来了——这次更狠:双 CVE 链式利用,公开 PoC 已释放,一行命令即可提权 root。Copy Fail 的 algif_aead 黑名单缓解方案被直接绕过。所有 Ubuntu 版本受影响,补丁尚未全部就位,3 步紧急缓解必须做。
⏱ 阅读时长:约 7 分钟
漏洞速览
| |
|---|
| 漏洞名称 | |
| CVE 编号 | CVE-2026-43284(xfrm-ESP)+ CVE-2026-43500(RxRPC) |
| CVSS 评分 | 7.8(高危) |
| 漏洞类型 | |
| 公开披露 | |
| 发现者 | |
| PoC 状态 | 已公开 |
| 影响范围 | 所有 Ubuntu 版本 |
Dirty Frag 是什么?
Dirty Frag 是两个 Linux 内核本地提权漏洞的组合,链式利用可将普通用户权限提升至 root:
| | | |
|---|
| CVE-2026-43284 | esp4 | | |
| CVE-2026-43500 | rxrpc | | |
两个漏洞必须同时缓解——只禁用一组模块,另一组仍然可被利用。
为什么叫 Dirty Frag?
漏洞的核心在于 Linux 内核处理共享页面片段(Shared Page Fragments)的方式——当数据通过 splice/sendfile 系统调用进入内核网络管道时,内核的就地解密路径会错误地将这些页面当作"私有数据"进行修改,导致:
- 3. 最终实现修改系统二进制文件 + 提权至 root
🔥 和 Copy Fail 是什么关系?
4 月 29 日我们刚报道过 Copy Fail(CVE-2026-31431),Dirty Frag 和它同出一脉:
| | |
|---|
| CVE | | CVE-2026-43284 + CVE-2026-43500 |
| 发现者 | | |
| 攻击路径 | | |
| 缓解绕过 | | 绕过 Copy Fail 的 algif_aead 黑名单 |
| 稳定性 | | 更稳定,不依赖竞态 |
| 灵活性 | | 写入更灵活 |
| PoC | | |
关键点:如果你之前为 Copy Fail 做了 algif_aead 黑名单缓解,Dirty Frag 可以直接绕过——必须重新做缓解!
历史对比:Dirty Cow → Dirty Pipe → Copy Fail → Dirty Frag
| | | |
|---|
| Dirty Cow | | | |
| Dirty Pipe | | | |
| Copy Fail | | | |
| Dirty Frag | | 高 | 双路径,写入更灵活 |
一代比一代狠。
哪些系统受影响?
所有 Ubuntu 版本均受影响,漏洞代码最早可追溯到 2017 年:
其他发行版同样中招:RHEL、CentOS Stream、AlmaLinux、Fedora、openSUSE——近 9 年内发布的所有 Linux 发行版都受影响。
容器环境风险
| | |
|---|
| 普通部署 | | |
| 容器宿主机 | | 攻击者获得容器内低权限后,可提权至宿主机 root |
| K8s/OpenShift 节点 | | |
| 纯容器逃逸 | | |
⚠️ Dirty Frag 不是远程漏洞——攻击者需要先有本地访问权限。但一旦有了,提权就是一条命令的事。
🛡️ 3 步紧急缓解(补丁未就位前必做)
补丁尚未全部发布,现在立即做以下缓解:
第 1 步:禁用受影响模块
# 禁止 esp4、esp6、rxrpc 模块加载
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
# 更新 initramfs,防止开机加载
sudo update-initramfs -u -k all
第 2 步:卸载已加载模块
# 卸载三个模块(如果已加载)
sudo rmmod esp4 esp6 rxrpc 2>/dev/null
第 3 步:确认模块未加载
# 检查是否还有残留
grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules \
&& echo "⚠️ 受影响模块仍在运行,需要重启" \
|| echo "✅ 受影响模块已禁用"
如果模块仍在使用中无法卸载,必须重启系统:
sudo reboot
⚡ 重要警告:禁用这些模块会影响以下功能:
- • IPsec VPN(StrongSwan、Libreswan 等)
- • Kubernetes/容器网络(如果依赖 IPsec)
如果你的环境依赖上述功能,请在业务低峰期操作,并评估影响。
补丁状态与升级
| |
|---|
| ✅ 已发布(commit f4c50a4034e6) |
| |
| |
| |
| |
升级方法
# 检查并安装可用更新
sudo apt update
sudo apt full-upgrade
# 查看当前内核版本
uname -r
# 升级后必须重启
sudo reboot
💡 打补丁不重启 = 没打。旧内核持续运行直到重启。
缓解后的清理
补丁安装并重启后,删除临时缓解:
sudo rm /etc/modprobe.d/dirty-frag.conf
sudo update-initramfs -u -k all
入侵后排查清单
如果怀疑系统已被利用,检查以下项:
| |
|---|
| sudo journalctl -k | grep -iE 'dirty|frag|esp|rxrpc|segfault' |
| last -a |
| ls -lat /tmp /var/tmp /dev/shm |
| find / -perm -4000 -mtime -7 2>/dev/null |
| sudo grep -E 'su|sudo' /var/log/auth.log |
| find ~/.ssh -mtime -7 |
| sudo crontab -l |
| systemctl list-units --type=service --state=running |
| docker ps --filter status=running --format '{{.Names}} {{.Privileged}}' |
📌 如果发现异常迹象,建议全量备份后重装系统 + 轮换所有凭证——攻击者获得 root 后可能已植入持久化后门。
完整操作速查卡
# === 1. 紧急缓解:禁用受影响模块 ===
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
sudo update-initramfs -u -k all
# === 2. 卸载已加载模块 ===
sudo rmmod esp4 esp6 rxrpc 2>/dev/null
# === 3. 验证 ===
grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules \
&& echo "⚠️ 需要重启" || echo "✅ 模块已禁用"
# === 4. 如需重启 ===
# sudo reboot
# === 5. 安装内核补丁(发布后) ===
sudo apt update && sudo apt full-upgrade
sudo reboot
# === 6. 补丁后清除缓解 ===
sudo rm /etc/modprobe.d/dirty-frag.conf
sudo update-initramfs -u -k all
💡 UbuntuNews | 资讯·工具·教程·社区
🐧 关注我们,获取更多Ubuntu/Linux技术干货
💬 加入QQ群/频道,与全国爱好者交流成长
❤️ 觉得有用?点个"在看"分享给更多人!