Dirty Frag: 分析新的 Linux Root 漏洞 (CVE-2026-43284)
Dirty Frag: 分析新的 Linux Root 漏洞 (CVE-2026-43284)
Linux 服务器领域在短短八天内遭遇了两个关键的 root 漏洞。继 Copy Fail 带来的冲击之后,一个新的被称为 "Dirty Frag" (CVE-2026-43284) 的漏洞出现了,它为任何能够在目标服务器上运行代码的人提供了通往 root 权限的确定性路径。
该漏洞特别危险,因为它不是基于竞态条件,而是基于内核处理内存的方式中的逻辑缺陷,这使得该漏洞利用非常可靠且易于执行。
理解 Dirty Frag
Dirty Frag 不是单个漏洞,而是一个结合了两个 Linux 内核漏洞的链式漏洞利用:CVE-2026-43284 和 CVE-2026-43500。
技术根本原因
CVE-2026-43284 漏洞的核心在于 Linux 内核的 IPsec/ESP 路径。具体来说,当使用 MSG_SPLICE_PAGES 将来自 pipe 的页面直接附加到网络缓冲区 (skb) 时,IPv4/IPv6 数据报路径未能将这些页面标记为共享。
正因为如此,从共享 pipe 页面创建的 ESP-in-UDP 数据包在内核看来是一个私有拥有的缓冲区。因此,内核会进行原地 ESP 解密,直接覆盖 skb 实际上并不拥有的内存。这使得攻击者可以实现对内核页面缓存的受控写入,进而可以利用这一点将权限提升至 root。
确定性 vs. 竞态条件
与之前的 DirtyPipe 等知名漏洞利用不同,Dirty Frag 是一个确定性的逻辑缺陷。根据研究人员 Hyunwoo Kim 的说法,该漏洞利用具有非常高的成功率,并且导致内核崩溃 (kernel panic) 的风险极小。它没有需要“命中”的“时间窗口”,这使得它比许多其他本地权限提升 (LPE) 漏洞要可靠得多。
与 Copy Fail 的联系
Dirty Frag 遵循与 Copy Fail (CVE-2026-31431) 类似的模式,后者于 4 月 29 日披露。这两个漏洞都利用页面缓存写入原语来实现 root 权限提升。
虽然 Copy Fail 针对的是加密子系统(具体为 authencesn AEAD 模板),而 Dirty Frag 针对的是 IPsec 接收路径。安全社区已开始将 CVE-2026-43284 称为 "Copy Fail 2.0",因为它代表了一类可重复的攻击,而不仅仅是一个孤立的事件。
至关重要的是,CVE-2026-43284 和 CVE-2026-43500 的组合覆盖了每个单独漏洞的盲点;两者单独都无法为完全的 root 权限提升提供足够可靠的原语,但结合在一起,它们可以在大多数发行版上实现即时的 root 访问。
影响范围与受影响系统
几乎所有 2017 年以后构建的各种主流 Linux 内核都受到影响。这包括以下主要发行版:
- Red Hat Enterprise Linux (RHEL)
- AlmaLinux (版本 8, 9, 和 10)
- Debian
- Ubuntu
- Fedora
- Arch Linux
- CentOS
- CloudLinux
- Amazon Linux
威胁向量
需要澄清的是,Dirty Frag 是一个本地权限提升漏洞。攻击者必须首先在系统中获得立足点——也许是通过一个有漏洞的 WordPress 插件、web shell 或被盗的 SSH 凭据。然而,一旦实现了初始进入,Dirty Frag 允许攻击者立即从低权限用户跳转到 root,使他们能够禁用安全工具、篡改日志并进行网络横向移动。
修复与缓解措施
主要修复:内核更新
唯一的确定性解决方案是更新内核并重启服务器。已修复的内核版本已于 2026 年 5 月 8 日左右发布。
对于基于 RHEL 的系统 (AlmaLinux, Rocky, CentOS Stream):
sudo dnf clean metadata && sudo dnf upgrade
sudo reboot
对于 Debian/Ubuntu 系统:
sudo apt update && sudo apt upgrade
sudo reboot
临时缓解措施
如果无法立即重启,您可以阻止有漏洞的模块加载。警告: 这将破坏依赖于 esp4 或 esp6 的 IPsec VPN 隧道和 Kubernetes 网络策略。
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
echo 3 > /proc/sys/vm/drop_caches
总结
在八天内连续出现两个通用 LPE 漏洞,凸显了漏洞景观的重大转变。Dirty Frag 的披露由于第三方泄露漏洞利用细节,导致了过早的公开披露。
正如一些社区成员所指出的,AI 驱动的漏洞研究可能会加速这些缺陷的缺陷发现。无论是由于“无限 AEyes”在查看源代码,或者是因为更复杂的自动化,现实情况是,从发现到被利用的时间窗口现在是以小时计的。内核更新必须被视为紧急安全补丁,而非计划内的维护工作。