- Dirty Frag - RxRPC 对共享片段原地处理,导致文件页缓存被修改,可用于本地提权
- 属于 Dirty Frag 的 RxRPC 部分;Fragnesia 对应 CVE-2026-46300
- CVE 记录公开:2026-05-11
- 上游根因引入版本:Linux
5.3
- 严重性:CVSS 3.1
7.8 High(Linux CNA)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
成因与利用条件
- RxRPC 的 DATA / RESPONSE 处理只在
skb_cloned() 为真时复制缓冲区,没有充分处理带共享页片段或片段链表的情况
- 后续原地密码操作通过散列表访问到文件页缓存,可能修改只读文件的缓存内容并提升权限
- 本地低权限用户需要能访问 AF_RXRPC/RxRPC 协议栈及相关共享页路径
- 不要求
CAP_NET_ADMIN,也不依赖非特权用户或网络命名空间
- 协议模块可能按需自动加载,不应只根据是否运行 AFS 服务判断攻击面
- 与 CVE-2026-43284 的 ESP 路径独立,禁用 ESP 或用户命名空间不能覆盖这一项
修复与缓解
| 上游分支 | Linux CNA 列出的修复版本 |
|---|
| 6.6 | 6.6.140 |
| 6.12 | 6.12.88 |
| 6.18 | 6.18.29 |
| 7.0 | 7.0.6 |
| 主线正式版 | 7.1 |
- 修复对带共享片段或 frag_list 的 DATA / RESPONSE 缓冲区也执行 unshare,再进入密码处理
- CNA 未列出的旧分支需查询发行版回补,不能推断为不受影响;Ubuntu
5.4、5.15 等派生内核也有相应修复
- Red Hat 公告明确此 CVE 不影响其产品;这一产品判断不能推广到其他发行版
- 首选升级并运行已修复内核;不使用 RxRPC 时,可让该协议功能不可达以缩小攻击面
- 模块形式需要同时处理已加载模块和后续自动加载;内建功能不能通过模块黑名单关闭
- 禁用 RxRPC 会影响依赖它的功能,例如相关 AFS 场景
PoC
- 原作者
V4bel/dirtyfrag 的 exp.c 包含本 CVE 的 RxRPC 路径,可用 --force-rxrpc 单独选择
- 该路径使用 AF_RXRPC / rxkad,目标包括
/etc/passwd 的页缓存;演示会尝试继续取得特权会话
- 观察现象是账户文件的缓存视图被改变,可能影响认证和账户解析;不应把它作为普通环境的健康检查
- 同一程序的默认模式可能先走 ESP,因此需要区分具体分支,不能根据一次成功结果推断两个 CVE 均可利用
- 关闭非特权用户命名空间并不能排除该 RxRPC 示例,因为它不依赖 ESP 分支的能力获取方式