A type mismatch vulnerability was found in QEMU's vhost inflight migration VMState handling. The destination buffer size is stored as a uint64_t but read by the VMS_VBUFFER load path as a signed int32_t. On little-endian hosts, a crafted incoming migration state with bit 31 set causes the value to be interpreted as negative and then implicitly converted to a very large size_t, leading qemu_get_buffer() to copy migration-stream data beyond the bounds of the mmap-backed inflight region.
This can result in a crash of the QEMU process or memory corruption. Exploitation requires control of the migration producer or write access to the migration channel, combined with a destination configured to use vhost inflight migration.
If vhost inflight migration is not required, it can be disabled by omitting the inflight parameter from the vhost-user device configuration. This prevents the vulnerable VMState deserialization path from being reached on the destination.
Environments that require vhost inflight migration for live migration of vhost-user devices cannot use this mitigation and should prioritize applying the fix.