近日,安全研究人员披露了一个名为“Dirty Frag”的高危Linux内核本地提权漏洞。该漏洞被视为此前Copy Fail漏洞(CVE-2026-31431)的后续变种,已于2026年4月30日报告给内核维护团队,目前官方补丁仍在等待中,对众多主流Linux发行版构成严重威胁。
漏洞概述
Dirty Frag是一个组合型本地权限提升漏洞。它通过串联利用xfrm-ESP与RxRPC这两个子系统中的页面缓存写入缺陷,使得本地低权限用户能够稳定地获取系统的最高root权限。该漏洞影响范围极广,是Linux服务器安全领域近期面临的一次严峻挑战。
研究员Hyunwoo Kim在技术分析中指出,该漏洞属于Dirty Pipe和Copy Fail漏洞家族的扩展。其最危险之处在于,它并非依赖难以触发的竞争条件,而是一个确定性的逻辑错误。这意味着漏洞利用过程极其稳定,成功率极高。即便攻击失败,内核也不会因此崩溃,为攻击者提供了反复尝试的机会,大大增加了实际风险。

影响范围
此Linux内核漏洞的覆盖面非常广泛。经测试,包括Ubuntu 24.04.4、RHEL 10.1、openSUSE Tumbleweed、CentOS Stream 10、AlmaLinux 10以及Fedora 44在内的几乎所有常见Linux发行版均受影响。成功利用后,攻击者将完全控制目标系统,可执行任意操作,对数据安全和业务连续性构成直接威胁。
技术细节
漏洞的根源埋藏较深。研究人员追溯发现,xfrm-ESP子系统的页面缓存写入问题可追溯至2017年1月的一次代码提交。值得注意的是,同一次提交还曾导致另一个缓冲区溢出漏洞(CVE-2024-27666),该漏洞在去年已影响多个发行版。
而RxRPC的页面缓存写入漏洞则出现在2024年6月。这两个漏洞单独来看都存在利用限制:xfrm-ESP漏洞能提供一个类似Copy Fail的4字节存储原语,允许覆盖内核页面缓存数据,但其利用前提是攻击者需具备创建命名空间的权限,而Ubuntu等发行版默认通过AppArmor策略阻止了普通用户的此类操作。
另一方面,RxRPC漏洞虽无需创建命名空间权限,但其对应的内核模块(rxrpc.ko)在多数发行版中并非默认加载。例如,RHEL 10.1的默认构建不包含它,而Ubuntu却默认加载了。攻击的巧妙之处在于,将这两个漏洞串联使用,恰好能相互弥补对方的限制,从而形成一条完整的、高成功率的本地提权攻击链。
缓解措施
AlmaLinux团队对漏洞原理做了进一步阐释:问题出在ESP-in-UDP的“MSG_SPLICE_PAGES no-COW快速路径”中,可通过XFRM用户网络接口访问。当套接字缓冲区携带非内核私有的页面片段时,接收路径会直接在这些外部支持的页面上进行解密,这可能导致低权限进程仍持有引用的明文数据被暴露或篡改。
目前,网络上已出现可用的概念验证代码,声称仅用一条命令即可获取root权限。在官方内核补丁发布之前,最有效的临时缓解方案是阻止相关内核模块的加载。系统管理员可以执行以下命令来实施防护:
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
独特威胁
尽管Dirty Frag与Copy Fail存在部分技术重叠,但它构成了独立的、全新的安全威胁。最关键的一点在于,即使系统已经应用了针对Copy Fail漏洞的公开缓解措施(例如将algif_aead模块列入黑名单),这些措施仍然无法防御Dirty Frag攻击。这意味着仅修补旧漏洞不足以保障系统安全,管理员必须针对此新变种采取专门的防护行动,并及时关注官方补丁的发布情况。
