一个因 Linux 网络协议栈中未正确传播 SKBFL_SHARED_FRAG 标志而导致的本地权限提升漏洞。
CVE-2026-43503,编号为 DirtyClone(脏克隆),是一个影响 Linux 内核网络子系统的**高危本地权限提升(LPE)**漏洞。
该漏洞的存在是因为多个套接字缓冲区(SKB)的分片复制例程在克隆或传输数据包分片时未能保留 SKBFL_SHARED_FRAG 标志。
结果,本应受到**写时复制(CoW)**语义保护的内存可能意外变得可写,从而允许本地攻击者在特定条件下修改只读的页缓存数据。
DirtyClone 这个名称反映了两个关键特征:
与之前 Linux 内存损坏漏洞类似,问题源于对共享内存元数据的错误处理,而非传统的缓冲区溢出。
成功利用该漏洞可能允许攻击者:
多个网络辅助函数在克隆或移动数据包分片时未复制以下标志:
SKBFL_SHARED_FRAG
因此,目标套接字缓冲区错误地将实际共享的内存假定为己有。
这打破了内核关于页面所有权和写保护的假设。
__pskb_copy_fclone()
skb_shift()
skb_gro_receive()
skb_gro_receive_list()
tcp_clone_payload()
skb_segment()
上述每个例程都可能传播分片引用而不保留共享分片状态。
本地用户
│
▼
创建精心构造的网络负载
│
▼
SKB 分片克隆
│
▼
SKBFL_SHARED_FRAG 丢失
│
▼
共享内存被视为私有
│
▼
写入只读页缓存
│
▼
权限提升
| 属性 | 值 |
|---|---|
| CVE | CVE-2026-43503 |
| 别名 | DirtyClone(脏克隆) |
| 严重程度 | 高 |
| CVSS v3.1 | 8.8 |
| 攻击向量 | 本地 |
| 复杂度 | 低 |
| 所需权限 | 低 |
| 用户交互 | 无 |
| 影响范围 | 已变更 |
| 影响 | 权限提升 |
Linux 内核
子系统:
net/skbuff
| 稳定分支 | 修复版本 |
|---|---|
| 5.10 | 5.10.257 |
| 5.15 | 5.15.208 |
| 6.1 | 6.1.174 |
| 6.6 | 6.6.141 |
| 6.12 | 6.12.91 |
| 6.18 | 6.18.33 |
| 7.0 | 7.0.10 |
| 7.1+ | 已修复 |
可能包含以下迹象:
| 类别 | 描述 |
|---|---|
| CWE | 状态管理不当 |
| 漏洞类型 | 本地权限提升 |
| 利用条件 | 本地经过身份验证的攻击者 |
| 是否需要重启 | 内核更新后需要 |
| 远程可利用 | ❌ 否 |
DirtyClone 并非网络远程利用漏洞——它是由套接字缓冲区共享分片处理不当导致的本地权限提升漏洞。丢失
SKBFL_SHARED_FRAG标志后,攻击者可写入本应受保护的内存,从而破坏 Linux 的写时复制保证,并在适当条件下实现权限提升。
内核权限提升漏洞持续表明,微小的内存管理错误可能带来重大的安全后果。
如果本仓库对您有帮助,不妨 ⭐ 收藏以支持网络安全研究与漏洞文档。