CVE-2026-46300
约 3 分钟阅读
- Fragnesia - Linux 网络缓冲区合并时丢失共享片段标记,可通过 ESP-in-TCP 路径修改文件页缓存并本地提权
- 公开披露:2026-05-13;CVE 记录公开:2026-05-23
- 上游根因引入版本:Linux
3.9- 这是
skb_try_coalesce()缺陷的历史范围,不代表公开的 ESP-in-TCP 利用在3.9即可运行
- 这是
- 严重性: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
- Red Hat 将其作为 Dirty Frag 漏洞集合的后续变体;CVE-2026-43500笔记CVE-2026-43500Dirty Frag - RxRPC 对共享片段原地处理,导致文件页缓存被修改,可用于本地提权 · 属于 Dirty Frag 的 RxRPC 部分;Fragnesia 对应 CVE-2026-46300 · CVE 记录公开:2026-05-11打开:/notes/security/cve/2026-43500 则是其中的 RxRPC 问题
成因与利用条件
skb_try_coalesce()将源缓冲区的页片段合并到目标缓冲区时,没有传播SKBFL_SHARED_FRAG- 合并后的缓冲区仍指向文件页缓存,却失去共享标记,ESP 输入因此可能跳过写时复制并原地写入
- 需要本地执行、可读目标文件、可达的 ESP-in-TCP 功能,以及配置 XFRM SA 所需的
CAP_NET_ADMIN- 普通用户的公开利用路径通常借助用户及网络命名空间取得该能力
- 通用 skb 合并缺陷与已公开的 ESP-in-TCP 利用路径应分开理解
- 已安装 Dirty Frag ESP 修复笔记CVE-2026-43284Dirty Frag - xfrm-ESP 共享片段被原地解密,导致文件页缓存被修改,可用于本地提权 · Dirty Frag 原始披露还包含 CVE-2026-43500 的 RxRPC 路径;两者有独立的根因与利用条件 · Dirty Frag 公开披露:2026-05-07;本 CVE 记录公开:2026-05-08打开:/notes/security/cve/2026-43284 仍不足以修复本条,需要补上合并过程的标志传播
修复与缓解
| 上游分支 | Linux CNA 列出的修复版本 |
|---|---|
| 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 |
- 上游修复:
f84eca581739,转移页片段时保留源缓冲区的共享标志 - 安装并运行覆盖此 CVE 的发行版内核;不要只检查较早 Dirty Frag 公告是否已处理
- 暂时让 ESP 输入功能不可达,或限制非特权用户命名空间,可阻断已知利用的部分前提
- ESP 模块措施会影响 IPsec/VPN,内建功能和已加载模块需分别处理
- 用户命名空间限制不覆盖已有
CAP_NET_ADMIN的任务,也不覆盖 RxRPC 漏洞
- 禁用 ESP-in-TCP 只针对已披露入口,不能等同于修复通用 skb 合并逻辑
PoC
- 作者仓库
v12-security/pocs的fragnesia/fragnesia.c提供独立 Fragnesia PoC - README 描述通过用户及网络命名空间配置 XFRM,并经 ESP-in-TCP 路径改写
/usr/bin/su的页缓存,随后启动特权会话 - 原理示意:
带共享标记的文件页片段
-> skb 合并后仍引用原页,但标记丢失
-> ESP 误判为私有数据,跳过复制
-> 原地处理改变文件页缓存- 作者报告的测试环境包括 x86-64 Ubuntu
6.8.0-111-generic;命名空间限制等策略可能阻止其公开实现,不能把该测试结果推广到所有同号内核 - 该程序会影响后续
su执行;作者报告磁盘二进制未直接改写,不代表页缓存污染没有副作用
参考
- CVE 官方记录:Linux CNA
- oss-security 披露与 CVE 编号确认
- Linux 上游修复GitHubtorvalds/linux/commit/f84eca5817390257cef78013d0112481c503b4a3
- Red Hat RHSB-2026-003
- v12-security/pocsGitHubv12-security/pocs
- fragnesia 说明GitHub 文件v12-security/pocs/fragnesia/README.md 与 fragnesia.cGitHub 文件v12-security/pocs/fragnesia/fragnesia.c - William Bowling / V12 团队公开 PoC
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- CVE-2026-43284笔记 · Fragnesia
Dirty Frag - xfrm-ESP 共享片段被原地解密,导致文件页缓存被修改,可用于本地提权 · Dirty Frag 原始披露还包含 CVE-2026-43500 的 RxRPC 路径;两者有独立的根因与利用条件 · Dirty Frag 公开披露:2026-05-07;本 CVE 记录公开:2026-05-08
- CVE-2026-43500笔记 · CVE-2026-46300
Dirty Frag - RxRPC 对共享片段原地处理,导致文件页缓存被修改,可用于本地提权 · 属于 Dirty Frag 的 RxRPC 部分;Fragnesia 对应 CVE-2026-46300 · CVE 记录公开:2026-05-11
站内链接
- CVE-2026-43284笔记 · Dirty Frag ESP 修复
Dirty Frag - xfrm-ESP 共享片段被原地解密,导致文件页缓存被修改,可用于本地提权 · Dirty Frag 原始披露还包含 CVE-2026-43500 的 RxRPC 路径;两者有独立的根因与利用条件 · Dirty Frag 公开披露:2026-05-07;本 CVE 记录公开:2026-05-08
- CVE-2026-43500笔记 · CVE-2026-43500
Dirty Frag - RxRPC 对共享片段原地处理,导致文件页缓存被修改,可用于本地提权 · 属于 Dirty Frag 的 RxRPC 部分;Fragnesia 对应 CVE-2026-46300 · CVE 记录公开:2026-05-11
参考资料
GitHub4 条
- torvalds/linux/commit/f84eca5817390257cef78013d0112481c503b4a3github.com/torvalds/linux/commit/f84eca5817390257cef78013d0112481c503b4a3
- v12-security/pocsgithub.com/v12-security/pocs
- v12-security/pocs/fragnesia/fragnesia.cgithub.com/v12-security/pocs/blob/main/fragnesia/fragnesia.c
- v12-security/pocs/fragnesia/README.mdgithub.com/v12-security/pocs/blob/main/fragnesia/README.md
其他外链3 条
- access.redhat.com/security/vulnerabilities/RHSB-2026-003access.redhat.com/security/vulnerabilities/RHSB-2026-003
- www.cve.org/CVERecord?id=CVE-2026-46300www.cve.org/CVERecord?id=CVE-2026-46300
- www.openwall.com/lists/oss-security/2026/05/13/5www.openwall.com/lists/oss-security/2026/05/13/5