Dirty Frag Linux 漏洞威胁系统

ZDNET AI··作者 Steven Vaughan-Nichols

关键信息

Dirty Frag 被描述为一条本地提权链,攻击 Linux 的网络和认证代码路径,重点涉及 IPsec Encapsulating Security Payload(xfrm-ESP)和 RxRPC 路径。该漏洞滥用由 page cache 支撑的内存页,能够在不改动磁盘文件系统的情况下修改内存中看似只读的文件。

资讯摘要

ZDNET 表示,在最近 Copy Fail 漏洞受到关注之后,Linux 又面临另一个严重的内核安全问题。这个新披露的漏洞被称为 Dirty Frag,看起来与 Dirty Pipe 和 Copy Fail 属于同一类漏洞。安全研究员 Hyunwoo Kim 在 5 月 7 日披露了该问题,而他是在 4 月底先向 Linux 内核维护者报告的。报道指出,协调披露过程很快失控,因为在禁令尚未妥善维持时,相关技术细节和可运行的概念验证利用代码就已经在网上泄露。Dirty Frag 被描述为一条本地提权漏洞链,它会破坏内核 page cache 中的数据,从而让非特权账户提权为 root。该漏洞针对 Linux 的两个网络子系统:xfrm-ESP 路径,编号为 CVE-2026-43284,以及 RxRPC 认证路径,编号为 CVE-2026-43500。

攻击者可以覆盖内存中由 page cache 支撑的系统文件片段,包括通常应当只读的可执行文件和配置文件,然后在提权后触发它们运行。ZDNET 指出,受害者通常需要先有一个初始立足点,例如非特权 SSH shell、web shell,或者被攻陷的容器。尽管如此,这个漏洞被认为异常可靠,因为它源自逻辑错误,而不是对时序极其敏感的竞态条件,因此攻击者可以反复尝试而不一定触发内核崩溃。文章还称,公开利用代码很快就在安全博客、GitHub 和论坛中传播,而微软威胁情报团队已经观察到 Dirty Frag 被用于把有限权限升级为服务器、云工作负载和容器上的完整 root 控制。ZDNET 的核心结论是,目前还没有能一劳永逸防住所有攻击的补丁,想要保持安全可能需要封锁多个服务,包括 VPN 相关功能。

Dirty Frag Linux 漏洞威胁系统

资讯正文

跟随 ZDNET:将我们添加为 Google 上的优先来源。ZDNET 的要点:只要有一个账号被攻破,Dirty Frag 就可能让你的系统暴露在风险之中。现在还没有补丁能保护你免受所有可能的攻击。为了保持安全,你需要阻止多项服务,包括 VPN。

Linux 这几周过得并不太平。首先,AI 研究人员发现了 Copy Fail 安全漏洞。在那个案例中,补丁很快就被制作并分发了。但对于新披露的 Linux 内核缺陷 Dirty Frag,我们就没那么幸运了;据称它也是在 AI 的帮助下被发现的,但补丁仍在开发中。另见:Linux 正迎来一次安全警钟——为什么这本是不可避免的,而且我并不担心

安全研究员 Hyunwoo Kim 于 5 月 7 日披露了这一问题,他将 Dirty Frag 描述为与此前备受关注的 Linux 内核漏洞——2022 年的 Dirty Pipe 和 Copy Fail——属于同一类漏洞的延伸。和那些漏洞一样,Dirty Frag 利用的是内核代码路径中会向非特权用户空间可访问的内存页写入的逻辑,但它针对的是不同的结构:网络缓冲区 sk_buff 的 fragment 字段。另见:不可变 Linux 带来严肃的安全性——以下是你最好的 5 个选择

Kim 在 4 月底就已将该漏洞告知 Linux 内核维护者。不幸的是,协调披露和补丁流程很快就失控了。5 月 7 日,在各发行版仍在发布与相关的 Copy Fail 漏洞修复时,一个无关第三方违反了禁令,导致关于 Dirty Frag 的详细技术信息以及针对 xfrm-ESP 组件的可运行概念验证利用代码被公开到网上。现在,我们都麻烦了。

什么是 Dirty Frag?Dirty Frag 是一条本地权限提升漏洞链,它利用 Linux 网络和认证栈中的逻辑漏洞,破坏内核页缓存中的数据,使非特权账号能够提升到 root。它通过攻击两个不同的网络子系统来实现:IPsec 封装安全载荷,即 xfrm-ESP 路径,跟踪编号为 CVE-2026-43284;以及 RxRPC 认证路径,跟踪编号为 CVE-2026-43500。

通过串联这些漏洞,攻击者可以在内存中修改本应只读、由页缓存支撑的系统文件,然后触发它们以提升后的权限运行,而无需碰触你的文件系统。另见:这项严重的 Linux 漏洞正使数百万系统面临风险——如何保护你的系统 一旦进入系统,Dirty Frag 就会在用于加密网络和远程文件系统认证的内核快速路径中利用“页缓存写入原语”。

通过仔细选择目标,攻击者可以覆盖内存中本应只读的文件片段,例如可执行文件或配置文件,然后以 root 身份执行或重新加载这些被修改后的文件。到那时,几乎就可以为所欲为,攻击者基本上可以做任何他们想做的事。

好消息——是的,确实有一点——是攻击者通常需要先获得一个现成的立足点,比如通过 SSH 获得一个非特权 shell、一个 web shell,或者一个已被攻陷的容器,才能利用 Dirty Frag 进行提权。另一方面,由于这个底层漏洞是逻辑错误,而不是对时序高度敏感的竞态条件,因此利用它的成功率异常高,而且在利用失败时也不会导致内核崩溃。换句话说,有人可以一遍又一遍地攻击你的 Linux 系统,直到成功入侵,而你却完全不会察觉。

防御者争相评估受影响范围

攻击者注意到这一点并没有花太久。公开的利用代码很快就被镜像到各类安全博客、GitHub 仓库和讨论论坛上,让防御者们急着评估受影响范围。

另请参阅:担心全国性的 Canvas 数据泄露?现在就采取这 6 个步骤

根据微软威胁情报团队的说法,Dirty Frag 已经被观察到在实际攻击中使用。黑客正在利用它把 Linux 系统上的有限立足点升级为对服务器、云工作负载和容器的完全 root 控制。

那么,谁有风险?很抱歉,几乎所有使用任何 Linux 发行版的人都在其中。Dirty Frag 影响范围很广,覆盖从裸机服务器和企业发行版到容器宿主机和云实例等多种 Linux 环境。这包括 Ubuntu、Red Hat Enterprise Linux、CentOS Stream、AlmaLinux、Fedora 和 openSUSE Tumbleweed 的当前版本和早期版本,等等。

Canonical,也就是 Ubuntu 的母公司,警告称:“在可能执行任意第三方工作负载的容器部署中,这一漏洞除了可导致主机上的本地提权之外,还可能进一步促成容器逃逸场景。”这正是云原生计算的终极噩梦。

幸运的是,“截至目前,还没有发布用于容器逃逸的概念验证利用代码。”暂时还没有。至少据我们所知是这样。我们希望如此。

另请参阅:最佳 VPN 服务:经专家测试并推荐

在你们中的许多人庆祝母亲节的时候,Linux 内核社区整个周末都在处理这个问题。CVE-2026-43284,也就是 xfrm-ESP 组件,已在 5 月 8 日的主线内核中获得上游修复,距离公开披露还不到 24 小时,不过这项修复现在还需要回移到众多受支持的稳定分支中。RxRPC 漏洞,编号为 CVE-2026-43500,仍在评估中。截至发稿时,尚未最终确定上游补丁。随着 Linux 各厂商整合上游变更,它们也在发布各自的安全公告和更新。

你现在应该立即做什么

Linux 发行版厂商、云服务提供商和托管服务提供商都在敦促客户在最新内核软件包可用后立即更新。他们还敦促管理员将 esp4、esp6 和 rxrpc 模块列入黑名单,作为临时补救措施。

不过请记住,这样做很可能会干扰 IPsec VPN 或基于 AFS 的工作负载。另一方面,这样你会更安全。另请参阅:根据微软的说法,Edge 为什么会以明文存储你的密码

对于 Debian 和 Ubuntu 相关的 Linux 发行版,Canonical 建议采取以下步骤。这些步骤适用于 Ubuntu 以及相关的 Linux 发行版,比如 Mint。

步骤 1:阻止模块

通过创建 /etc/modprobe.d/dirty-frag.conf 文件来阻止这些模块:

echo "install esp4 /bin/false" | sudo tee /etc/modprobe.d/dirty-frag.conf

echo "install esp6 /bin/false" | sudo tee -a /etc/modprobe.d/dirty-frag.conf

echo "install rxrpc /bin/false" | sudo tee -a /etc/modprobe.d/dirty-frag.conf

重新生成 initramfs 镜像,以防止这些模块在早期启动阶段被加载:

sudo update-initramfs -u -k all

步骤 2:卸载模块

如果这些模块已经加载,则将其卸载:

sudo rmmod esp4 esp6 rxrpc 2>/dev/null

步骤 3:确认模块未加载

检查这些模块是否仍然处于加载状态:

grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules && echo "Affected modules are loaded" || echo "Affected modules are NOT loaded"

如果前一步显示这些模块没有加载,就不需要再采取进一步行动。不过,如果应用程序已经在使用这些模块,可能无法将其卸载。在这种情况下,重启系统可以强制阻止它们加载,但这会影响应用程序:

sudo reboot

一旦 kernel 更新可用并安装完成,就可以移除这一缓解措施:

sudo rm /etc/modprobe.d/dirty-frag.conf

sudo update-initramfs -u -k all

另请参阅:最佳移动杀毒软件:经专家测试与评审

对于 Red Hat 及相关的 Linux 发行版,Red Hat 建议你运行:

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

这种方法需要禁用基于 IPsec 和 AFS 的程序,但同样适用于 CentOS、Rocky Linux、AlmaLinux 以及其他与 RHEL 相关的 Linux 发行版。另请参阅:我用了几十年的 Windows,但我试着用 Linux 看看它现在是否真的“容易”了——有一件事让我感到惊讶

对于 SUSE Linux,修复方法也类似,同样会提示关于 IPsec 和 AFS 的警告。创建 /etc/modprobe.d/10-copyfail2-fix.conf,并加入以下内容以进行修复:

blacklist esp4

blacklist esp6

blacklist rxrpc

install esp4 /bin/false

install esp6 /bin/false

install rxrpc /bin/false

不同发行版之间细节会有所不同,但临时修复始终是相同的:使用 modprobe 配置文件禁用那些可能受影响的程序,直到 kernel 补丁可用并安装完成。那之后,你就可以删除这些紧急修复,恢复一切照常运行。另请参阅:随着安全军备竞赛升级,Google 在 AI agent cyber force 上押下 320 亿美元

在完整的 kernel 修复方案被广泛部署并且系统完成重启之前,你应当尽快缓解你系统的风险。毕竟,只要有哪怕一个用户账户被攻破,攻击者就能利用 Dirty Frag 完全控制你的基础设施。现在,恕我失陪,我还有一堆服务器和工作站要修。

来源与参考

  1. 原始链接
  2. Dirty Frag is a new Linux bug putting your system at risk - and there's no easy fix yet

收录于 2026-05-12