Linux 内核流量控制子系统中新披露的一个漏洞(现编号为 CVE-2026-46331,称为“Pedit COW”)被发现可以授予任何非特权本地用户在易受攻击的系统上完全 root 访问权限。
2026 年 6 月 16 日,CVE 正式分配后仅 24 小时,一个名为 packet_edit_meme 的工作概念验证漏洞利用程序就在 GitHub 上公开出现,极大地加快了未修补系统的威胁窗口。
函数的设计遵循写时复制(Copy-on-Write)原则,在修改内存页之前先生成一个私有副本。然而,一个关键的顺序错误导致在运行时偏移量完全解析之前就对可写范围进行了验证。
某些编辑键仅在执行时计算其最终目标,这意味着写入操作可能完全落在私有副本之外,而是破坏共享的页面缓存页面,而该页面可能支持缓存的可执行文件,例如/bin/su。
该漏洞是通过提交悄悄引入的899ee91156e5,并且存在于从 v5.18 到 v7.1-rc7 的每个内核中。
2026 年 5 月下旬,netdev 邮件列表中确实出现了一个修复程序,但它被描述为一个例行的数据损坏补丁,没有 CVE 参考,也没有安全公告,这使得漏洞暴露的时间窗口比必要的要长得多。
安全研究人员立即将其与Dirty Pipe、DirtyClone和Dirty Frag进行了比较,这些都是 Linux 内核漏洞利用程序,它们都通过写入并非由其独占的页面来滥用内核快速路径。
Pedit COW 也遵循同样的模式,但它引入了一个独特且特别危险的入口点:非特权用户可以从用户命名空间内部配置流量控制操作,CAP_NET_ADMIN在没有任何系统级权限的情况下获得命名空间本地权限。
该漏洞利用程序packet_edit_meme会造成毁灭性的影响。它会创建一个用户命名空间子进程来获取目标文件,然后利用写时复制(COW)漏洞破坏内核页面缓存中存储CAP_NET_ADMIN的目标文件内存ELF映像。/bin/su
setgid(0)该二进制文件的入口点被执行→ setuid(0)→ 的shellcode 覆盖execve("/bin/sh")。当被篡改的二进制文件被触发时,它会释放一个 root shell。
由于该攻击完全在内存中运行,从未触及磁盘上的二进制文件,因此文件完整性监控工具在整个攻击链中均未报告任何异常。
受影响的分布
| RHEL 10.0 | 6.12.0-228.el10 | 根 |
| Debian 13 Trixie | 6.12.90+deb13.1 | 根 |
| Ubuntu 24.04.4 | 6.17.0-22 | ROOT(AppArmor绕过) |
| Ubuntu 26.04 | 7.0.0-14-通用 | 失败 |
在 Ubuntu 24.04.4 中,AppArmor 的非特权命名空间限制可以通过使用aa-exec宽松的容器配置文件来绕过。Ubuntu 26.04 完全堵住了这条绕过路径,但其底层内核在技术上仍然存在对写时复制 (COW) 原语的漏洞。
红帽公司已确认RHEL 8、9 和 10 以及依赖平台(包括 Red Hat OpenStack Platform、Red Hat Virtualization 和 RHEL CoreOS)均会受到影响。
Debian 已发布 Trixie 漏洞补丁,但 Debian 11 和 12 仍未打补丁。Ubuntu 已确认截至 2026 年 6 月 25 日,18.04 至 26.04 的所有受支持版本均存在漏洞。
安装已打补丁的内核并重启是唯一彻底的解决方法。管理员应优先处理多租户主机、Kubernetes 节点、CI/CD 运行器和共享构建环境,因为这些环境面临的攻击风险最高。
如果无法立即进行修补,act_pedit可以使用以下命令禁用该模块:
'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf
user.max_user_namespaces=0在 RHEL 或Debian 和 Ubuntu 上禁用非特权用户命名空间kernel.unprivileged_userns_clone=0也可以消除漏洞利用的入口点,但这会破坏无根容器和浏览器沙箱。