Linux vhost 提权洞 Vghost CVE-2026-74580 处置提示

[复制链接]
10 月 12 日那天 vhost 这个洞的利用演示公开了,编号 CVE-2026-74580,起了个名字叫 Vghost。我第一反应不是去看 POC,是登到几台虚拟化宿主机上敲了一行:

ls -l /dev/vhost-net /dev/vhost-vsock

看完心里凉了半截,几台都是 0666。这个洞的门槛就卡在这两个设备节点的权限上,谁能打开谁就有戏。

先把机理说清楚,这段值得看明白,因为它解释了为什么这个洞活了九年。

vhost 是内核里给虚拟机和容器加速网络和 I/O 的子系统。它对每个虚拟环维护了一小片地址映射缓存,也就是 vq->meta_iotlb[]。命中缓存就当作"这片内存已经校验过了",直接放行。正常情况下映射更新或者队列重置时缓存会被清掉,问题出在重配置这条路上:VHOST_SET_VRING_ADDR 和 VHOST_SET_VRING_NUM 这两个命令在队列还活着的时候改了环的地址或大小,缓存没清。如果这时候挂着 device IOTLB,这两个命令会先把新地址收下、把校验推迟到后面。缓存一旦有值,后面的校验就再也不会跑了,vhost 继续用那个陈旧映射去翻译新地址,于是内核在没做边界检查的情况下读写了一块不该碰的内存。

这个坑是两次改动凑出来的。2017 年 Linux 4.11 引入了这片缓存和它的快捷路径;2020 年 Linux 5.9 把地址校验从命令处理挪到了后面的阶段,顺手挪掉了本来能拦住陈旧翻译的那道检查。

fig_vghost.png

影响范围是内核 4.11 到 7.2-rc4,快十年。

两条利用路径。

第一条是本地提权。能打开 /dev/vhost-net 或 /dev/vhost-vsock 的用户,可以拿到确定性的内核任意读写,绕过 KASLR,然后提权到 root。确定性这三个字很关键——不需要堆布局,不需要碰运气的时间窗口,跑一遍就是一遍成。腾讯朱雀实验室在 Ubuntu 26.04、RHEL 9.8、Amazon Linux 2023、Azure Linux 3.0、Oracle Linux 10.2 上都跑通了完整链路。这五个里四个的设备节点默认 0666,也就是任意本地账号都能碰;Ubuntu 把它收进了 kvm 组,门槛高一点,但 kvm 组平时发给开发、发给 CI runner 是很常见的事,别当它是一道墙。

第二条是虚拟机逃逸,条件窄但更麻烦。当 virtio 设备挂在虚拟 IOMMU 后面、开了 iommu_platform、vhost 跑在 device-IOTLB 模式下,不可信的 guest 能触发同一个洞,让宿主内核往宿主机 QEMU 进程做越界写,改写函数指针控制执行流。跑多租户、跑不可信 guest 的环境要优先看这条。

修复是 commit de845981da67,做法很直接——环重配置时把元数据缓存清掉。各 stable 分支的第一个修复版本是 5.10.265、5.15.216、6.1.183、6.6.152、6.12.104、6.18.45、7.1.9,7.2 分支本身也在修复之列。装完新内核要重启,别指望热补丁。

评分这回各家没统一,我把三个口径原样摆出来,不合并:kernel.org 8.8,Amazon 7.8,Red Hat 和 Oracle 7.3。分歧点在"guest 到宿主的写入算不算跨越信任边界",各家判断不一样。我的看法是,一个稳定可靠的本地提 root,不管挂哪个分值都得优先处理。

Red Hat、Amazon Linux、Oracle Linux 在 10 月 12 日前后就已经发了更新。Ubuntu 的情况要注意时间点:22.04 有修复,24.04 和 26.04 截至 10 月 13 日的记录还是 in progress。这条是 10 月 13 日的快照,你今天看可能已经变了,以厂商 tracker 为准。

还没法重启的机器,能做的缓解只有针对第一条路径:把 /dev/vhost-net、/dev/vhost-vsock 的 world 权限去掉,属组收紧到可信的虚拟化服务,并且从此把 kvm 组当成一种实际权限来管,别默认发放。另外别把 vhost 设备节点透传给不可信容器。注意权限改动对已经打开的文件描述符无效。

第二条路径没有临时办法,打补丁是唯一解。

核对说明:CVE 编号、影响内核区间 4.11–7.2-rc4、修复 commit de845981da67、七个 stable 分支的首个修复版本号,在 Exine、Carthage Electronics 10 月 14 日威胁简报、SecurityOnline、Anti-Abuse Project 四处独立来源上完全一致。CVSS 分值四处口径一致地呈现分歧(kernel.org 8.8 / Amazon 7.8 / Red Hat、Oracle 7.3),帖中并列未合并。Ubuntu 补丁状态标注了 10 月 13 日这个时间点,属快照信息。

来源:
Exine 分析
https://exine.co/blog/linux-vghost-kernel-flaw-root-vm-escape
Carthage Electronics 10 月 14 日 CVE 威胁简报
https://carthageelectronics.com/october-14-2026-cve-threat-brief
SecurityOnline
https://securityonline.info/vghost-cve-2026-74580-linux-vhost-poc-disclosed
The Anti-Abuse Project
https://anti-abuse.com/news-insights/linux-vhost-vulnerability-enables-root-and-guest-escape
Seclists 邮件列表披露(转载见于 CISO Advisor)
https://www.cisoadvisor.com.br/poc-expoe-falha-no-vhost-do-linux

**HKTULU**
2026-10-25
@九幽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关链接:

手机版 | 电脑版 | 中国红客

Copyright © 2000 - 2025 中国红客 版权所有 湘ICP备2023007301号-1
中国红客公众号
中国红客公众号
中国红客抖音号
中国红客抖音号
中国红客官方微博
中国红客官方微博
意见
反馈