TL;DR
Security researcher Fourie Zhang from the TencentOS Security Team and Corvus AI disclosed CVE-2026-74580, a high-severity memory corruption flaw dubbed Vghost. Furthermore, the researchers publicly released the full technical details and proof-of-concept exploit code for this Linux vhost vulnerability. Tracked with a CVSS score of 8.8, the flaw enables both local root privilege escalation and virtual machine escape across nearly a decade of Linux kernel releases.
- CVE: CVE-2026-74580
- CVSS: 8.8 (High Β· CVSSv3)
- Product: Linux
- Affected: f889491380582b4ba2981cf0b0d7d6a40fb30ab7, 4.11
- Impact: vhost: reset the vring metadata cache on vring reconfiguration
- Status: No confirmed exploitation yet
- Patched in: 5224bd37e37d36076a550d99b2aebba33939fd95, 54617e9119be2eb728ecdd8d977b99c99d4c498a, 13fa6f32a56a386a82bd7451644c494beed034af, cf363a7a02ce132ef1f58084fdb13e1a3b7da7e7 (+12 more)
- EPSS: 0.1% (30-day)
- Action: Update to 5224bd37e37d36076a550d99b2aebba33939fd95, 54617e9119be2eb728ecdd8d977b99c99d4c498a, 13fa6f32a56a386a82bd7451644c494beed034af, cf363a7a02ce132ef1f58084fdb13e1a3b7da7e7 (+12 more) now
Why the Vghost Linux vhost Vulnerability Matters
Enterprise cloud providers and data centers rely on the Linux kernel’s vhost subsystem to accelerate virtual machine networking and socket communication. According to the TencentOS Security Team’s Vghost technical write-up, the flaw breaks core security boundaries across major enterprise distributions. Specifically, the report states that “the vulnerability provides dual exploitation vectors: host local privilege escalation and virtual machine escape.”
In addition, the researchers published a public CVE-2026-74580 proof-of-concept exploit repository on GitHub. On many default installations, device nodes such as /dev/vhost-vsock and /dev/vhost-net carry world-accessible 0666 permissions. Consequently, any unprivileged local user on RHEL 9.8, Amazon Linux 2023, Azure Linux 3.0, or Oracle Linux 10.2 can gain root access without extra privileges. Although functional proof-of-concept code is now public, no active exploitation in the wild has been confirmed.
How the CVE-2026-74580 Attack Works
Stale IOTLB Metadata Cache Bypass
The Linux vhost vulnerability stems from a combination of two older kernel commits from 2017 (v4.11) and 2020 (v5.9). First, the vhost driver caches memory translations for virtual ring metadata regions inside the vq->meta_iotlb[] array. Next, when a user or guest updates ring addresses via the VHOST_SET_VRING_ADDR or VHOST_SET_VRING_NUM ioctl calls, the kernel defers address validation until prefetch time.
However, those specific ioctl operations fail to clear the existing metadata cache. As the researchers explained, “once the cache is populated, that deferred validation never runs: vq_meta_prefetch() hits the stale entry and returns true, and vhost_vq_meta_fetch() keeps translating the new address through the old mapping.” Because the resulting pointer calculation performs no range check, the kernel reads or writes directly to arbitrary memory addresses.
Local Root Escalation and QEMU VM Escape
Because the flaw relies on a deterministic cache state rather than a race condition, exploitation requires no heap grooming. On a local host, an attacker repoints the descriptor ring address to read Interrupt Descriptor Table (IDT) gate 0 and bypass Kernel Address Space Layout Randomization (KASLR). Afterward, the attacker repoints the used ring address to overwrite modprobe_path in kernel memory and execute commands as root.
Meanwhile, an attacker inside a virtual machine can trigger the same Linux vhost vulnerability when a virtio device sits behind a virtual IOMMU with iommu_platform enabled. By issuing a standard VIRTIO_F_RING_RESET operation, the guest forces the host QEMU process to invoke VHOST_SET_VRING_ADDR without clearing the cache. Consequently, the guest writes out-of-bounds into the host QEMU process heap and overwrites QOM device function pointers to hijack host control flow.
Affected Linux Kernel and Distribution Versions
Based on the CVE record and cross-distribution validation, CVE-2026-74580 affects a wide range of systems:
- Upstream Linux kernel versions from 4.11 through 7.2-rc4.
- Red Hat Enterprise Linux (RHEL) 9.8, Amazon Linux 2023, Microsoft Azure Linux 3.0, and Oracle Linux 10.2 (world-accessible
0666device permissions by default). - Ubuntu 26.04 LTS (accessible to users inside the
kvmgroup via0660permissions).
Patch Details and Mitigation Steps
Kernel maintainers patched the Linux vhost vulnerability in upstream Linux kernel commit de845981da67 by calling __vhost_vq_meta_reset(vq) inside vhost_vring_set_num_addr(). This change clears the stale metadata cache whenever ring addresses change. The fix is available in upstream stable kernels 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9, and 7.2. Cloud and enterprise vendors have also released updates, including the Amazon Linux CVE-2026-74580 security advisory and the Oracle Linux ELSA-2026-500248 errata update.
For administrators who cannot reboot immediately, the research team advises: “until a fixed kernel can be deployed, restrict access to every vhost device, including /dev/vhost-net and /dev/vhost-vsock.” Teams should remove world access permissions, treat the kvm group as privileged, and block untrusted containers from mounting vhost device nodes.
Support Our Threat Intelligence
Find our vulnerability reports and weekly recaps helpful? Support our work today and unlock a 100% ad-free reading experience!