聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
该漏洞位于内核数据路径,而非用户态的 ovs-vswitchd 守护进程中。发现并报送该漏洞的研究员 Asim Manizada 在一份技术分析中指出,攻击者“无需现有 OVS 网桥,无需运行中的 ovs-vswitchd,也无需主机级的 CAP_NET_ADMIN 能力”,即可实施攻击。
在受影响的系统上,若 OVS 内核数据路径可用且非特权用户命名空间已启用,则普通用户可通过 unshare -Urn 创建私有用户命名空间和网络命名空间,在该命名空间内获得 CAP_NET_ADMIN 能力,并到达易受攻击的流安装路径。
如果 openvswitch 模块已安装但未加载,解析 Generic Netlink 家族名称可自动加载该模块。lsmod 输出为空并不意味系统安全。上游的修复方案已于 7 月 24 日合入稳定分支。若供应商内核尚未打补丁,且不需要 Open vSwitch,可阻止后续模块加载;若模块已常驻内存,则卸载模块或重启系统。
Manizada 表示自己于 6 月 19 日将问题报告至 security@kernel.org 及 OVS 维护者。首批修复的上游版本为 Linux 5.15.212、6.1.178、6.6.145、6.12.97、6.18.40 和 7.1.5。已终止支持的 6.13~6.17、6.19 和 7.0 系列不会获得上游稳定修复方案。这些上游版本号本身并不充分,因为发行版内核包含反向移植及下游改动,因此供应商的跟踪信息是更可靠的信息源。
Open vSwitch 将生成的流动作存储为 Netlink 属性,它的 nla_len 字段宽度为 16 位,任何单个嵌套属性上限为 65535 字节。该不安全赋值已存在 13 年,但此前生成的整个动作流受 32 KiB 上限限制,使嵌套动作始终低于回绕点。2025 年 3 月的一项改动移除了该上限,因为它在大型 OpenStack 部署中引发了不可预测的故障,同时暴露了更早存在的截断漏洞。该引入补丁的审查线程讨论了可靠性和用户可见故障,但未涉及移除该防护措施带来的安全后果。
攻击者提交一个 CLONE 动作,其中打包数百个 conntrack 子动作。在 x86-64 架构上,内核将每个子动作扩展为 164 字节,使生成的嵌套动作总长度超过 65535 字节。当 OVS 将结果写入 16 位长度字段时,数值发生回绕。后续代码信任该长度,并从攻击者可控的 conntrack 数据内部继续解析,而伪造的 OVS 动作正等待。由于落入点在同一个连续缓冲区内的位置是确定的,因此无需进行堆喷。
Manizada 将该漏洞描述为具有“逻辑漏洞级别的可靠性”的内存损坏漏洞。该利用通过回绕构建三条原语:通过伪造的 OUTPUT 动作泄漏内核指针,通过伪造的隧道 SET 动作实现任意内核读取,以及通过销毁伪造的 `tun_dst` 指针实现目标减量操作。利用这些原语,可定位主机进程的凭据,并在现代内核上将 fsuid 和 fsgid 减为零。已发布的概念验证代码具有显式破坏性。它还需要 OVS conntrack 支持、FTP conntrack 辅助模块以及已安装的 sudo。
成功利用漏洞后,会损坏运行中的内核凭据,修改 /etc/sudoers.d 或 /etc/sudoers,打开 root shell,并保留进程和 OVS 状态以避免不安全的销毁操作。PoC 仓库中包含了约 800 个精确的 x86-64 内核构建记录,并对未覆盖的构建尝试通过符号或 BTF 进行动态推导。
Manizada 的非穷举测试矩阵显示,在以下默认配置下可实现利用:已测试的 AlmaLinux 9 和 10、Alpine 3.22至3.24、Amazon Linux 2023、Arch、CentOS Stream 9 和 10、Debian 12 和 13、Fedora 42至44、Gentoo、Kali 2026.1、Linux Mint 22.3、NixOS、openSUSE Tumbleweed、Pop!_OS、Rocky Linux 9 和 10,以及 Ubuntu 22.04。
在已测试的 Ubuntu 24.04 系统上,AppArmor 阻止了直接的命名空间创建,但 PoC 中通过 aa-exec -p trinity 回退方式恢复了可触达性。默认的 Ubuntu 26.04 阻止了普通用户路径;若禁用其 AppArmor 用户命名空间限制,则已测试系统变为可被利用。已测试的 Amazon Linux 2、Debian 11、Rocky Linux 8 和 Ubuntu 20.04 保留了较旧的代码路径,无法通过此路径被利用。
若供应商已提供补丁内核,用户需安装。若无需 Open vSwitch,最快的临时缓解措施是阻止模块加载:
echo 'install openvswitch /bin/false' > /etc/modprobe.d/ovswrap.conf该覆盖配置将阻止后续模块加载尝试;已常驻内存的模块仍需通过卸载或重启系统清除。禁用非特权用户命名空间可关闭普通本地用户利用路径,但无法阻止已对攻击者控制的网络命名空间拥有 CAP_NET_ADMIN 的容器或其它进程。Manizada 指出容器方向在理论上可达,但未在已发布的 PoC 中演示。PoC 仓库还包含一个紧急 BPF 防护措施,适用于必须同时保留 OVS 和命名空间的环境。
在多用户或不可信工作负载共享主机的场景下风险尤为突出。正如 CloudLinux 在其公告中所言,该场景下的本地用户可能是已通过其它漏洞攻陷某个站点的攻击者,而 OVSwrap 正是将单账户问题升级为整机沦陷的关键。
Linux 内核0day已修复:隐藏19+年、利用稳定性极高、影响极广
Bad Epoll:Linux 内核新漏洞,导致低权限用户获得 root 权限
已存在16年的 Linux KVM 漏洞可导致从客户虚拟机逃逸至宿主机
https://thehackernews.com/2026/08/new-ovswrap-linux-kernel-flaw-lets.html
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。


奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~