Anolis OS Linux Dirty Frag 漏洞安全声明

一、漏洞概述

Dirty Frag 是最近爆出的 Linux 内核本地提权漏洞。该漏洞通过组合两个变种(ESP 和 RxRPC),能够在主流 Linux 发行版上获取 root 权限。这是继 Dirty Pipe (CVE-2022-0847) 和 Copy Fail (CVE-2026-31431) 之后,同一漏洞模式(通过 zero-copy/splice 进行 page cache 污染)的延伸。

1.1 核心原理

在零拷贝发送路径上,splice() 将攻击者只读的文件 page cache 页面直接注入到 struct sk_buff 的 frag 成员中,接收端内核代码对该 frag 执行原地(in-place)加解密操作,可以操纵 setuid 类型的文件的 page cache 在内存中被修改。

1.2 与 Dirty Pipe / Copy Fail 的关系

Dirty Frag 与 Dirty Pipe、Copy Fail 属于同一漏洞类,但操作目标不同:

  1. Dirty Pipe:覆写 struct pipe_buffer。
  2. Copy Fail:通过 AF_ALG 的 areq->tsgl 进行 scatterlist 链式写入。
  3. Dirty Frag:覆写 struct sk_buff 的 frag 成员。

三者的本质相同 ------ 利用 splice 零拷贝机制将 page cache 页面注入内核网络路径,利用内核对该页面的原地写入操作实现 page cache 污染。

二、影响范围

注意:两个问题模块(ESP / RxRPC)是"或"的关系,任何一个模块都能被利用。

|----------|-----------------------------------------------------------------------------------------------|-------------|
| 内核模块 | 引入时间/补丁 | 版本范围 |
| xfrm-ESP | 2017 cac2661c53f3 | 4.11 ~ 7.0 |
| RxRPC | 2023 2dc334f1a63a | 6.5 ~ 7.0 |

说明:Anolis OS 内核默认只以 module 形式内置了 XFRM-ESP 模块,未内置 RXRPC 模块,因此只有 esp4/esp6 受影响。

|--------------|-----------|-----------|----------------------|
| 产品 | 内核 | 受影响状态 | 备注 |
| Anolis OS 7 | ANCK 4.19 | 受影响 | PoC 已验证,缓解方案 #1 验证有效 |
| Anolis OS 8 | ANCK 5.10 | 受影响 | PoC 已验证,缓解方案 #1 验证有效 |
| Anolis OS 23 | ANCK 6.6 | 受影响 | PoC 已验证,缓解方案 #1 验证有效 |

建议:受影响用户请立即采用第三章中的缓解方案降低风险,社区将持续跟进上游修复进展。

三、缓解方案

3.1 方案 #1:禁用漏洞模块(推荐)

卸载并禁止加载有漏洞的内核模块 esp4、esp6、rxrpc!立即生效,无需重启!副作用:会中断 IPsec(VPN)和 RxRPC(AFS 文件系统),请根据实际业务评估。

1.检查系统是否内置有漏洞的内核模块:

复制代码
zgrep -i "RXRPC\|XFRM_ESP" /proc/config.gz

Anolis OS 4 输出示例(表示只内置了 esp 模块,rxrpc 模块未支持,不受影响):

复制代码
CONFIG_XFRM_ESP=m
# CONFIG_AF_RXRPC is not set

2.禁止模块加载并卸载已加载模块,执行以下命令即可:

复制代码
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf"
sudo rmmod esp4 esp6 rxrpc 2>/dev/null || true

该措施无需重启,仅禁用相关内核模块。

3.2 方案 #2:限制 user namespace(仅阻断 ESP 变种)

此方案只阻断 ESP 变种,RxRPC 变种不需要 user namespace。注意:可能影响容器运行时(Docker/Podman rootless 模式、Flatpak 等)。

复制代码
# 临时关闭(立即生效)
sysctl -w kernel.unprivileged_userns_clone=0

# 永久生效
echo "kernel.unprivileged_userns_clone = 0" >> /etc/sysctl.conf

四、修复方案

目前上游 Linux 社区修复进展如下:

  • xfrm-ESP 模块:修复补丁已合入 netdev next 分支(commit),并已合入 stable-6.6.138(commit),尚未合入 mainline 主线。
  • RxRPC 模块:修复补丁已提交社区 review 中(补丁链接),尚未被接收。

Anolis OS 社区将持续跟进上游修复进展,在补丁可用后第一时间评估并提供安全更新。建议用户在此前采用上述缓解方案降低风险。

五、事件时间线

|------------|--------------------------------------------------------------------------------------------------------|
| 日期 | 事件 |
| 2026-04-29 | RxRPC 补丁提交到公开的 netdev 邮件列表 |
| 2026-04-30 | ESP 补丁提交到公开的 netdev 邮件列表,漏洞信息已公之于众 |
| 2026-05-03 | 私有仓库 DirtyFrag-rxrpc-LPE 发布漏洞信息 |
| 2026-05-04 | 提交 shared-frag 方案补丁到公开 netdev私有仓库 DirtyFrag-esp-LPE 发布漏洞信息 |
| 2026-05-07 | ESP 补丁合入 netdev 主线完整 exploit + 文档提交到 linux-distros(私下,5 天 embargo)第三方公开发布 exploit完整 Dirty Frag 文档被公开发布 |

参考资料

相关推荐
赛博守夜人3 分钟前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
jimmyleeee1 小时前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
山东科恩光电1 小时前
安全地毯压敏传感快速响应与耐腐蚀橡胶材质在工业危险区域的防护部署
安全
叼烟扛炮2 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
ynchyong2 小时前
Linux 有两个 “版本“
linux·发行版·内核版本
叼烟扛炮2 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习
叼烟扛炮2 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Escalating_xu2 小时前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
一枕槐安4874 小时前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
西索斯coding4 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai