TL;DR: 存在两个新的 Linux 内核漏洞。此脚本可判断您是否易受攻击。请及时修补系统。
2026 年 5 月 7 日,安全研究员 Hyunwoo Kim(@v4bel)提前公开披露了一类名为 Dirty Frag 的漏洞——由于保密协议被第三方打破,他不得不在补丁就绪之前发布。
该漏洞允许任何非特权本地用户获取 root 权限。无需竞态条件,无需时间窗口,可靠性极高。
受影响的两个子系统如下:
| CVE | 子系统 | 模块 | 引入时间 | 修复(上游) |
|---|---|---|---|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | 2017 年 1 月(cac2661c53f3) | 2026 年 5 月 7 日(f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | 2023 年 6 月(2dc334f1a63a) | 2026 年 5 月 10 日(aa54b1d27fe0) |
单独来看,这两个漏洞都不完全可靠——ESP 路径要求能够创建用户命名空间(Ubuntu 的 AppArmor 会阻止此操作),而 RxRPC 路径需要加载 rxrpc.ko(大多数发行版默认不会加载)。但两者结合可互相弥补盲区,使该攻击链在几乎所有主流发行版上都能生效。
已有公开的概念验证(PoC)代码。请假定它已被积极利用。
它会检查您的系统是否存在使漏洞可利用的条件,并具体告诉您暴露的原因——而不仅仅是“是”或“否”。
它不会修复任何问题,也不会利用任何漏洞。它只是如实告知您系统的真实状况。
python3 dirty_frag_detect.py
仅此而已。彩色输出、每项发现的具体原因,以及末尾的修复建议摘要。
[
]
真正的修复是修补内核。 请查看您发行版的安全公告:
| 发行版 | 查看位置 |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
| RHEL / AlmaLinux / Rocky |
在等待期间(或如果您的发行版尚无补丁),请将易受攻击的模块加入黑名单:
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; \
echo 3 > /proc/sys/vm/drop_caches"
⚠️ 在执行上述操作之前:
- 将
esp4/esp6加入黑名单会破坏 IPsec 隧道(strongSwan、Libreswan 会受影响,WireGuard 不受影响)。请勿在 VPN 网关上应用此操作。- 将
rxrpc加入黑名单会破坏 AFS 分布式文件系统客户端。几乎没有人使用它——但请先确认。
重要提示: 如果您的系统在应用缓解措施之前可能已成为攻击目标,该漏洞可修改页缓存中的二进制文件而不触碰磁盘。基于磁盘校验和的文件完整性工具(Tripwire、AIDE)不会发现任何异常。重启会清除页缓存并恢复磁盘上的状态。
这两个漏洞都位于内核的就地解密快速路径中。当套接字缓冲区携带并非内核私有的分页片段时——例如通过 splice() 或 sendfile() 附加的管道页——ESP 和 RxRPC 接收路径会直接在这些外部支持的页面上解密,而不是先进行复制。
攻击者可以将 /usr/bin/su(或任何其他可读文件)缓存中的页面引导到这些解密路径之一,并使用自己的密钥,使“解密输出”成为他们选择的任意字节。内核会将这些字节直接写入 su 的内存缓存副本。磁盘上的文件不受影响。内核永远不会将该页面标记为脏。
从那时起,每个执行 su 的进程都会运行攻击者的版本——直到 drop_caches 或重启。
ESP 变体(cac2661c53f3)和 RxRPC 变体(2dc334f1a63a)共享同一个汇点,但具有相互抵消的不同前提条件,从而使该攻击链在所有主要配置中均可靠。
完整的技术分析请参阅 V4bel/dirtyfrag。
致谢:Hyunwoo Kim(@v4bel)的原创研究、披露和 PoC。
仅用于检测。请仅对您获得授权评估的系统使用。
| 检查项 | 检查内容 |
|---|
| 内核版本 | 此内核是否处于任一受影响范围内? |
| 补丁 — CVE-2026-43284 | 您的内核包中是否包含 esp4/esp6 修复(f4c50a4034e6)? |
| 补丁 — CVE-2026-43500 | 您的发行版是否已向后移植 rxrpc 修复(aa54b1d27fe0)? |
esp4 模块 | 已加载、可加载,还是被列入黑名单? |
esp6 模块 | 已加载、可加载,还是被列入黑名单? |
rxrpc 模块 | 已加载、可加载,还是被列入黑名单? |
| XFRM netlink 套接字 | 非特权用户当前能否打开一个? |
| AF_RXRPC 套接字 | 非特权用户当前能否打开一个? |
| 缓解措施 | AppArmor、SELinux、非特权用户命名空间、黑名单文件 |
sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | CloudLinux 公告 |
| 日期 | 事件 |
|---|
| 2026-04-30 | 报告给 Linux 内核安全团队 |
| 2026-05-07 | 保密协议被第三方打破;Hyunwoo Kim 提前发布 |
| 2026-05-07 | 公开 PoC 发布;分配 CVE-2026-43284 |
| 2026-05-07 | CVE-2026-43284 修复(f4c50a4034e6)合并至 netdev/net.git |
| 2026-05-08 | 预留 CVE-2026-43500;各发行版开始发布针对 CVE-2026-43284 的已修补内核 |
| 2026-05-10 | CVE-2026-43500 修复(aa54b1d27fe0)合并至主线 |
| 2026-05-11 | 各发行版正在为 CVE-2026-43500 进行向后移植 |