Fragnesia (CVE-2026-46300):Linux 内核本地提权漏洞影响与缓解

整理 Fragnesia (CVE-2026-46300) Linux 内核本地提权漏洞:它和 Dirty Frag 属于相近攻击面,问题出在 XFRM ESP-in-TCP 与共享页碎片处理逻辑,风险在于可篡改页缓存中的只读文件并获得 root shell。重点关注影响范围、检测盲点和运维缓解。

Linux 内核最近又曝出一个和 Dirty Frag 同一类攻击面相关的本地提权漏洞:Fragnesia (CVE-2026-46300)。

根据 V12 Security 的披露,Fragnesia 是一个 Linux 本地提权漏洞。攻击者不需要宿主机已有高权限,只要能在本地执行代码,就可能借助内核 XFRM ESP-in-TCP 子系统中的逻辑缺陷,把只读文件的页缓存内容按字节改写,最终触发 root shell。

原始资料:

这篇不展开可复现利用步骤,只整理运维侧需要知道的风险点和处置思路。

它和 Dirty Frag 是什么关系

V12 Security 在说明中把 Fragnesia 归到 Dirty Frag 漏洞类别里。它不是 Dirty Frag 本身的同一个 bug,而是同一攻击面上的另一个问题:Linux 内核的 XFRM ESP-in-TCP。

XFRM 是 Linux 内核里处理 IPsec 的框架。ESP-in-TCP 则和通过 TCP 承载 ESP 加密流量有关。Fragnesia 的问题出在共享页碎片和 socket buffer 合并过程中的逻辑处理:某些情况下,内核会“忘记”某个 fragment 仍然是共享状态,从而留下可控写入空间。

这类问题让人联想到 Dirty Pipe / Dirty Frag 这一类页缓存写入漏洞。共同点不是具体代码完全相同,而是都把攻击效果落到了页缓存里的只读文件副本上。

风险为什么高

Fragnesia 的危险之处有三个。

第一,它是本地提权。只要攻击者已经能在系统上运行普通用户代码,就可能把权限提升到 root。对多用户服务器、容器宿主机、CI runner、共享开发机、VPS 和暴露 Shell 的环境来说,这类漏洞比普通桌面更敏感。

第二,它不依赖传统竞争条件。V12 的说明中提到,该漏洞通过构造 ESP-in-TCP 处理流程,让内核把加密流处理到已经 splice 进 socket buffer 的文件页上,进而按字节影响页缓存内容。这意味着风险不只是“理论上可能”,而是研究团队已经验证了稳定利用路径。

第三,它改的是页缓存,不是磁盘文件。公开说明里的示例目标是 /usr/bin/su。利用成功后,磁盘上的文件并不会被永久改写,改动存在于内存页缓存中。很多只检查磁盘文件 hash 或完整性的巡检流程,可能看不出异常。

这也是它对管理员麻烦的地方:系统看起来文件没变,但一旦执行被污染页缓存里的目标二进制,就可能触发提权效果。

已知影响范围

V12 Security 的说明称,受 Dirty Frag 影响且没有应用 2026 年 5 月 13 日相关补丁的内核,也会受 Fragnesia 影响。公开验证环境包括 Ubuntu 22.04、Ubuntu 24.04,以及 6.8.0-111-generic 这类内核版本。

这里要注意两个点。

第一,不要只看发行版大版本。Ubuntu 22.04 / 24.04 是否受影响,最终取决于内核补丁状态,而不是发行版名字。

第二,不要只看有没有默认 AppArmor 限制。Ubuntu 对非特权用户命名空间的 AppArmor 限制可以提高门槛,但披露方明确把它视为额外绕过问题,不是漏洞本体的根治方式。

真正可靠的判断方式,仍然是查看发行版安全公告和内核包更新。

临时缓解思路

如果系统暂时不能立刻升级内核,可以先评估是否依赖相关协议模块。

V12 给出的缓解方向与 Dirty Frag 相同:如果系统不依赖 IPsec ESP 或 RxRPC,可以禁用相关模块,例如 esp4esp6rxrpc。这类操作会影响相关网络能力,生产环境不要盲目执行,应该先确认业务是否使用 IPsec、VPN、隧道或相关内核功能。

更稳妥的处置顺序是:

  1. 确认发行版是否已经发布内核安全更新。
  2. 优先安装内核补丁并安排重启。
  3. 如果无法立即升级,再评估临时禁用相关模块。
  4. 对多用户系统和 CI / 构建环境优先处理。
  5. 检查是否开放非必要本地账号、Shell、容器逃逸面和低权限执行入口。

这里不要把禁用模块当作最终修复。它更像临时降低暴露面。

如果怀疑已经被利用

Fragnesia 的一个特点是页缓存污染。V12 在说明中强调,利用后目标文件在页缓存中的副本可能含有注入内容,后续执行仍可能触发异常行为,直到页面被驱逐或系统重启。

如果怀疑系统已经被利用,至少要做几件事:

  • 尽快保留现场日志和审计记录。
  • 检查近期异常本地登录、低权限用户活动、可疑进程和 root shell 痕迹。
  • 清理相关页缓存或直接重启。
  • 升级到已修复内核。
  • 对关键二进制做完整性检查,但不要只依赖磁盘 hash。
  • 轮换可能已经暴露的凭据和密钥。

如果是生产服务器,更建议把它当作一次潜在本地提权事件处理,而不是只当作普通补丁升级。

运维侧该优先看哪些机器

这类漏洞优先级最高的不是所有 Linux 机器平均处理,而是先看攻击者最容易拿到低权限代码执行的地方。

优先级较高的环境包括:

  • 多用户登录服务器
  • CI / CD runner
  • 构建机
  • 共享开发机
  • 容器宿主机
  • VPS 和云主机
  • 暴露 SSH 的边缘节点
  • 运行第三方脚本或插件的平台

相对封闭、单用户、没有外部代码执行入口的机器,风险仍然存在,但紧急程度可以低一些。

小结

Fragnesia 值得关注,不是因为它名字新,而是因为它再次把 Linux 本地提权问题拉回到页缓存和内核网络子系统这一类复杂交界处。

对管理员来说,最重要的不是研究利用细节,而是确认内核补丁状态、评估是否依赖 ESP / RxRPC、对高暴露机器优先升级,并理解“磁盘文件没变”不等于“系统没有被影响”。

如果系统受影响,最终答案仍然是尽快安装发行版提供的内核更新。临时禁用模块只能算过渡措施,不能替代补丁。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计