freenode
Databases & Infrastructure

QEMU patches five CVEs across virtio, vhost-user, and RNG

A 30-patch pull from Michael Tsirkin hardens device emulation against guest-triggered host crashes, memory corruption, and a CXL heap leak.

QEMU maintainer Michael S. Tsirkin has queued a round of pci, virtio, vhost, and IOMMU bugfixes that closes five CVEs and several other host-side memory safety holes in device emulation.

The security fixes cluster around guest-controlled virtio paths that could crash or corrupt the hypervisor. CVE-2026-50624 is a host use-after-free in virtio-rng: entropy completions from the backend could still run after the device was hot-unplugged. CVE-2026-63323 is a similar lifetime bug in virtio-pmem, where fsync work finishing after unrealize touched freed device state. Both now track in-flight work and drain it before teardown.

CVE-2026-16457 stops infinite loops in packed virtqueue empty checks. CVE-2026-66022 closes a DMA re-entrancy hole in virtio-net that had been left open after an earlier fix, by putting the transmit bottom half under the same guard as the device. CVE-2026-63110 addresses a heap overflow in libvhost-user’s inflight tracking when shared-memory descriptor state disagreed with the counted in-use total.

Beyond the numbered CVEs, Haotian Jiang fixed an out-of-bounds CDAT table walk in CXL DOE handling. A guest-chosen entry handle could index past the table, leak host heap through the DOE read mailbox, and potentially overrun a 1 MiB response buffer. The same pattern existed in both type-3 and upstream port implementations.

Other hardening includes capping rng-backend allocations so a huge guest descriptor cannot force multi-gigabyte mallocs, bounds checks on vhost-user inflight indices and vring access, short-frame and RSC out-of-bounds reads in virtio-net, queue size validation on migrate load, and an address-mask check on Intel IOMMU PASID page invalidations. Virtio-snd gained descriptor size and allocation overflow guards.

Taken together, the pull is aimed at keeping malicious or buggy guests from turning ordinary virtio and CXL configuration traffic into hypervisor memory corruption or denial of service. The changes are staged for upstream QEMU.