当前位置:首页>Linux>DirtyClone,Linux内核又爆一提权大洞

DirtyClone,Linux内核又爆一提权大洞

  • 2026-10-11 07:06:18
DirtyClone,Linux内核又爆一提权大洞
DirtyClone,Linux内核又爆一提权大洞

一句话概括:Linux内核网络栈的一个标志位丢失bug,让任何普通用户都能静默拿到root权限——不改磁盘、不留日志、绕过完整性监控。

漏洞速览
项目
详情
CVE编号
CVE-2026-43503
漏洞名称
DirtyClone(脏克隆)
CVSS评分
8.8(高危)
漏洞类型
本地权限提升(LPE)
发现者
JFrog安全研究团队
披露时间
2026年5月23日
影响范围
Linux Kernel 3.9 ~ 7.1-rc5以下全系列
PoC状态
✅ 已公开
在野利用
暂未发现,但利用门槛极低
这个漏洞有多可怕?

DirtyClone是DirtyFrag漏洞家族的第四个成员。前三个分别是Copy Fail、DirtyFrag和Fragnesia——半年内同一个内核子系统连续炸了四次,可见Linux网络栈的安全债务有多深。

攻击效果极其干净:

🔹 普通本地用户 → 直接拿到root shell

🔹 零磁盘痕迹:只改内存页缓存,不动磁盘文件

🔹 零日志痕迹:不触发审计、不写syslog

🔹 绕过完整性监控:AIDE、Tripwire等文件监控工具全部失效

🔹 容器可逃逸:Docker/K8s环境可从容器内打到宿主机root

漏洞原理:三步完成

第一步:把目标程序加载到页缓存。 攻击者mmap映射/usr/bin/su,让这个特权二进制的代码页进入内核页缓存。

第二步:让内核把页缓存"当成"网络缓冲区。 通过nftables转发规则+IPsec ESP隧道,攻击者构造特殊数据包,利用_pskbcopyfclone函数在克隆分片时丢失SKBFLSHARED_FRAG标志位。内核误以为这块内存是可写的网络缓冲区,而非只读的文件页缓存。

第三步:IPsec原地解密 = 写原语。 IPsec ESP解密时会在缓冲区上原地写入。由于标志位丢失,内核没有执行写时复制(CoW),解密操作直接覆盖了/usr/bin/su在内存中的认证逻辑。下次执行su时,校验被绕过,直接拿到root。

整个过程中,磁盘上的su文件完好无损,只有RAM中的页缓存被篡改。重启后攻击痕迹自动消失——堪称"完美犯罪"。

PoC:一行命令利用
# 直接运行脚本即可python3 dirtyclone.py

利用前提: 系统默认开启非特权用户命名空间 + 加载esp4/esp6内核模块(绝大多数发行版默认满足)。

下载地址:该漏洞PoC已经公开,可以网上搜索下载。有需要的也可以在留言区留言:CVE-2026-43503

紧急修复方案

永久修复:升级内核

升级至Linux Kernel 7.1-rc5及以上,或安装各发行版安全补丁:

🔹 Debian:https://security-tracker.debian.org/tracker/CVE-2026-43503

🔹 Ubuntu:https://ubuntu.com/security/CVE-2026-43503

🔹 Fedora:https://bugzilla.redhat.com/show_bug.cgi?id=2480902

🔹 补丁commit:https://git.kernel.org/stable/c/48f6a5356a33

临时缓解(无法立即升级时):

# 1. 禁用非特权用户命名空间sysctl -w kernel.unprivileged_userns_clone=0# 2. 禁用IPsec ESP模块(会影响IPsec/AFS功能)modprobe -r esp4 esp6 rxrpcecho"install esp4 /bin/false" >> /etc/modprobe.d/esp-disable.confecho"install esp6 /bin/false" >> /etc/modprobe.d/esp-disable.conf

⚠️ Ubuntu 24.04+因AppArmor已限制非特权命名空间,默认不受影响。但Debian、Fedora等发行版仍需立即处理。

写在最后

半年内DirtyFrag家族连出四变,说明Linux内核网络栈的"共享内存保护"这一底层设计存在系统性缺陷。JFrog在报告中直言:任何在传输过程中丢弃shared-frag标志的函数都可能成为下一个变种,全面审计仍是未完成的工作。

🎯 关注我,持续不断地成长!

最新文章

随机文章