前言:
2026年6月25日,JFrog安全研究团队公开Linux内核高危本地提权漏洞CVE-2026-43503,代号DirtyClone(脏克隆)。它属于近年高发的DirtyFrag漏洞家族,和DirtyPipe、DirtyFrag同源,核心都是利用内核内存管理缺陷篡改系统程序,普通账号几分钟就能拿到服务器最高root权限,最可怕的是全程不留磁盘痕迹、绕过绝大多数安全审计工具,云服务器、Docker/K8s容器、企业内网主机全受波及。
一、漏洞基础信息
1.核心元数据
漏洞编号:CVE-2026-43503
漏洞代号:DirtyClone(脏克隆)
发现团队:JFrog Security Research,2026年6月25日公开完整技术报告与POC
漏洞家族:DirtyFrag同源系列(DirtyPipe、DirtyFrag、Fragnesia、DirtyClone),均为页缓存越权写入类本地提权漏洞
漏洞类型:本地权限提升(LPE)、容器逃逸、只读页缓存内存篡改
CVSS3.1评分:8.8(高危)
攻击向量:CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CWE分类:CWE-943(错误处理共享内存边界)、CWE-1220(权限控制不足)
2.核心危害
- 低权限一键Root:任意普通本地用户,无需管理员权限,无用户交互,完成内核提权;
- 无痕攻击,绕过审计:仅修改内存页缓存,磁盘原始文件完全不变,磁盘完整性校验工具、文件哈希监控无法检测;
- 容器逃逸:Docker/K8s默认开启非特权用户命名空间环境下,容器内普通用户可突破隔离获取宿主机Root;
- 持久全域后门:篡改
/usr/bin/su、sudo等高权二进制内存副本,系统内所有用户执行命令都会触发Root权限,重启前持续生效。
二、受影响Linux内核完整范围
3.9 ≤ Linux Kernel < 5.10.257 5.11 ≤ Linux Kernel < 5.15.208 5.16 ≤ Linux Kernel < 6.1.174 6.2 ≤ Linux Kernel < 6.6.141 6.7 ≤ Linux Kernel < 6.12.91 6.13 ≤ Linux Kernel < 6.18.33 6.19 ≤ Linux Kernel < 7.0.10 7.1-rc1 ≤ Linux Kernel < 7.1-rc5主线修复基准版本:Linux Kernel v7.1-rc5,官方commit:48f6a5356a33dd78e7144ae1faef95ffc990aae0
主流发行版受影响:Ubuntu、Debian、RHEL/CentOS、Fedora、openSUSE、各类云厂商定制内核、嵌入式Linux。
三、漏洞底层技术原理
1.漏洞根因:SKB分片克隆丢失安全标记
Linux内核网络栈__pskb_copy_fclone()函数用于netfilter TEE规则复制网络数据包分片(frag)。内核依靠SKBFL_SHARED_FRAG标志判断当前skb数据包内存是否绑定文件页缓存共享内存:
- 标记存在:必须执行写时复制(COW),不能原地修改内存;
- 标记缺失:内核判定内存为独立数据包缓冲区,允许原地读写。
漏洞缺陷:克隆skb分片时,仅复制分片数据描述符,未同步传递SKBFL_SHARED_FRAG标志。原始skb保留标记,克隆出来的数据包丢失标记,形成“内存实际共享、内核判定独立”的逻辑矛盾。
SKB克隆标志丢失逻辑图
(注:图片来源:JFrog Security DirtyClone官方技术报告)
2.完整攻击利用链路(分步拆解)
步骤1:获取CAP_NET_ADMIN网络管理权限普通用户通过非特权用户命名空间创建隔离网络环境:
unshare -Urn命名空间内自动获得CAP_NET_ADMIN能力,可自定义IPsec隧道、iptables TEE转发规则,主机内核页缓存全局共享,不受命名空间隔离限制。
步骤2:将高权二进制绑定到网络数据包普通用户只读映射/usr/bin/su,文件加载至系统Page Cache;通过splice/vmsplice系统调用,把su对应的物理内存页挂载到UDP网络数据包skb,实现文件页缓存与网络包共享同一物理内存。
添加iptables mangle表TEE转发规则,出站UDP 4500端口数据包(IPsec 默认端口)会在内核调用__pskb_copy_fclone复制数据包,生成丢失SHARED_FRAG标记的克隆skb:
iptables -t mangle -A OUTPUT -p udp --dport 4500 -j TEE --gateway 127.0.0.1步骤4:本地回环IPsec ESP原地解密篡改内存攻击者自建本地环回IPsec隧道,加密自定义可控密文、IV向量;克隆skb流入IPsec接收处理函数esp_input()。因标志丢失,内核跳过COW流程,直接在共享物理内存原地执行AES-CBC解密;攻击者通过控制IV、密文偏移,精准改写su二进制内存前192字节指令。
覆盖su程序内身份校验分支指令,替换为setuid(0)+execve("/bin/sh")逻辑;磁盘文件无任何修改,但内存页缓存已被篡改。任意用户执行su命令时,Linux复用内存缓存副本,直接弹出Root交互式Shell,攻击完成。
3.攻击隐蔽核心特性
- 磁盘无修改:改动仅驻留在内存Page Cache,重启系统后自动消失,全盘哈希校验、AIDE、Tripwire等文件监控完全失效;
- 日志缺失:内核不会记录页缓存内存写入操作,审计系统无法捕获篡改行为;
- 跨进程全域生效:页缓存主机全局共享,容器内篡改会影响宿主机所有进程。
四、漏洞利用前置必备条件
- 攻击者拥有本地交互式普通用户Shell(SSH登录、WebShell、容器终端均可,无需管理员权限);
- 系统默认开启非特权用户命名空间(绝大多数Linux发行版出厂默认启用);
- 内核加载
esp4/esp6IPsec模块(默认内置加载); - 内核版本落在前文受影响区间,未安装官方修复补丁。
五、容器环境专属风险拓展
Docker、K8s等容器平台风险放大:
- 默认配置允许容器内普通用户执行
unshare创建用户命名空间,直接拿到 CAP_NET_ADMIN; - 主机页缓存全局共享,容器内利用漏洞篡改内存,直接逃逸获取宿主机 Root 权限;
- 容器镜像只读层仅限制磁盘写入,无法防护内存页缓存篡改。
六、分级修复与缓解方案
(一)永久根治方案(推荐所有服务器执行)
- 升级内核至安全版本主线内核≥7.1-rc5;稳定分支升级至修复阈值以上(如5.10升至 5.10.257、6.1升至6.1.174);云服务器执行厂商内核更新命令批量修复。
- 应用官方内核补丁补丁核心修复逻辑:在
__pskb_copy_fclone、skb_segment等分片克隆函数中,同步传递SKBFL_SHARED_FRAG标志,确保共享内存标记不会丢失NVD。
(二)临时应急缓解(无法立刻升级内核场景)
方案1:关闭非特权用户命名空间(最有效)#临时生效 sysctl -w kernel.unprivileged_userns_clone=0 #永久写入配置 echo "kernel.unprivileged_userns_clone=0" >> /etc/sysctl.conf sysctl -p阻断普通用户获取CAP_NET_ADMIN能力,直接切断漏洞利用入口。
方案2:黑名单禁用IPsec ESP内核模块echo "install esp4 /bin/false" >> /etc/modprobe.d/block-esp.conf echo "install esp6 /bin/false" >> /etc/modprobe.d/block-esp.conf rmmod esp4 esp6 2>/dev/null update-initramfs -u适用于不使用IPsec VPN、加密隧道的服务器。
方案3:容器环境加固- 启动容器添加
--userns=off关闭容器用户命名空间; - 采用AppArmor/Seccomp安全配置,拦截
unshare、setns系统调用; - 禁止容器内普通用户操作iptables、nftables网络规则。
七、入侵痕迹自查与检测手段
1.事后入侵排查
- 进程行为审计:检索日志中普通用户执行
unshare -Urn、iptablesTEE规则、ipsec隧道配置的记录; - 内存特征排查:对比
/usr/bin/su磁盘哈希与内存页缓存哈希,二者不一致即存在篡改; - 网络日志:排查本地UDP 4500端口环回大量加密流量、内网自建IPsec隧道行为。
2.常态化基线检测
- 批量脚本巡检服务器内核版本,标记受影响版本资产;
- 启用内存完整性监控工具(如Volatility、Tracee),监控Page Cache原地写入高权二进制行为;
- 日志告警:监控普通用户创建用户命名空间、加载IPsec模块操作。
八、安全防护思考与运维启示
- 内核内存漏洞优先级高于远程漏洞:传统安全策略侧重外网端口防护,忽视本地低权限提权漏洞;钓鱼、WebShell一旦拿下普通用户权限,DirtyClone可瞬间接管整机,内网服务器、云主机风险极高。
- 文件完整性工具存在天然短板:AIDE、Tripwire仅校验磁盘文件,无法监控内存页缓存篡改;纵深防御必须叠加内核级行为监控,不能仅依赖磁盘哈希校验。
- 用户命名空间是容器与主机通用风险面:非特权命名空间为容器提供隔离能力,同时开放大量内核攻击面;无业务需求环境应默认关闭,缩小攻击面。
- 内核补丁管理需要快速响应:该漏洞披露时已存在可直接运行的完整POC,无防护主机可被快速批量利用;企业需建立高危内核漏洞72小时修复机制。