QEMU 11.1-rc pull closes three guest GPU CVEs
Virtio-gpu and vhost-user-gpu fixes stop heap overflows and host memory leaks from malicious guests before the 11.1 release.
Marc-André Lureau has sent a QEMU 11.1-rc fixes pull that closes three CVEs in the virtual GPU stack, plus related hardening for virtio-gpu scanout and reset paths.
CVE-2026-66021 covers a virtio-gpu blob resource flaw: a guest could declare a blob larger than its actual DMA backing. Bounds checks then trusted the inflated size, so a later scanout could build a pixman surface over an undersized buffer. Display refresh would read past the real allocation, risking a QEMU crash or leakage of host memory depending on how the buffer was backed. The same pull also tightens handling of short or truncated control headers so partial commands no longer complete with stale fence metadata or a misleading success status.
CVE-2026-17516 is a heap overflow in the classic VGA device. Switching graphics to text and back could leave the horizontal panning buffer sized for a tiny graphics width while the guest later drew a full-width scanline into it, overflowing hundreds of bytes on every refresh. The fix reallocates that buffer unconditionally on graphics redraw.
CVE-2026-15264 hits the out-of-process vhost-user-gpu backend. Huge width and height values wrapped the 32-bit size used for a 2D resource allocation, so a following transfer wrote past a too-small heap buffer. The in-tree virtio-gpu device already rejected this class of overflow; the backend now uses the same wider arithmetic and explicit checks.
Related non-CVE work rejects invalid scanout rectangles that could abort QEMU under virgl, blocks offset wraparound when mapping blob scanouts, and unmaps DMA regions for in-flight commands on device reset. Separately, the win-dmp dump format gains an allowed-by-guest QAPI feature so clients such as libvirt can tell when Windows crash dumps are actually valid for the running guest rather than merely advertised for every x86 machine.