QEMU closes guest-triggerable memory flaws across display and 9pfs
QEMU developers posted multiple security patches and a pull request addressing guest-triggerable memory safety bugs in virtio-gpu, 9pfs, virtio-mmio, QXL, and vhost-user-gpu. The changes close use-after-free, out-of-bounds, and overflow issues that affect common virtualization paths.
Virtio-gpu use-after-free on blob detach
A v2 patch for QEMU hw/display/virtio-gpu fixes a use-after-free that occurs on blob detach backing. The flaw, tracked as CVE-2026-66020, reaches cursor and scanout paths and can be triggered by a guest. Operators running virtio-gpu should treat the fix as high priority for host isolation.
Virtio-gpu blob iov size validation
A companion v2 patch validates blob iov size in the same virtio-gpu code. It closes CVE-2026-66021, a guest-triggered out-of-bounds read on blob resources. The change prevents malformed guest requests from reading past allocated buffers on the host.
9pfs O_TRUNC bypass on read-only exports
A pull request patch for hw/9pfs stops guests from bypassing O_TRUNC on host read-only 9p2000.u exports. The issue is CVE-2026-63318. Shared filesystem exports that were intended to be immutable can no longer be truncated by a malicious guest.
Virtio-mmio QUEUE_NUM_MAX correction
A patch corrects QUEUE_NUM_MAX handling in virtio-mmio. The prior value allowed out-of-bounds access on in-order virtqueues and is tracked as CVE-2026-50626. Guests using virtio-mmio transport can no longer force the host into invalid queue sizing.
9p queue pull with additional UAF fixes
The 9p queue pull for 2026-07-25 bundles the O_TRUNC fix together with use-after-free corrections in virtio and xen backends. The single pull consolidates several host-side memory safety repairs for 9pfs users. Reviewers and downstream packagers gain a coherent set of patches rather than scattered commits.
QXL primary surface stride checks
A v2 patch for hw/display/qxl validates primary surface stride against width and format. Without the checks a malicious guest can provoke a host out-of-bounds read through a crafted primary surface. The hardening closes a classic QXL attack surface still present in many desktop virtualization setups.
Vhost-user-gpu integer overflow in allocation
A patch fixes an integer overflow in vhost-user-gpu buffer allocation where width times height times 4 wraps a uint32_t. The resulting heap buffer overflow is CVE-2026-15264. Hosts that offload GPU rendering via vhost-user are protected once the allocation arithmetic is corrected.
Qdev realization lifecycle clarification
A 15-patch v3 series for QEMU 11.2 clarifies and enforces the device realization lifecycle inside qdev. It tightens realized-state tracking and adds a qdev_is_realized accessor. The work reduces lifecycle bugs that have historically led to use-after-free and double-free conditions during hotplug and reset.