QEMU's virtio-blk device can write past the end of a heap-allocated MMIO bounce buffer while handling a crafted `VIRTIO_BLK_T_SCSI_CMD` request. A malicious guest that can program virtio-blk request descriptors can make the second-to-last writable input descriptor point to an MMIO guest physical address with a length of only 1 byte. QEMU maps that descriptor through an exact-size heap bounce buffer, then `virtio_blk_handle_scsi()` writes the 4-byte `virtio_scsi_inhdr.errors` field without first checking that the descriptor is large enough. A malicious guest can cause an out-of-bounds host heap write in the QEMU process by submitting a malformed virtio-blk SCSI request.
Upstream patch: https://lore.kernel.org/qemu-devel/20260526154957.1741622-1-stefanha@redhat.com/