CVE-2026-46655 PUBLISHED

virtio-win: Integer overflow causing a heap overflow in Viosock driver

Assigner: GitHub_M
Reserved: 15.05.2026 Published: 18.09.2026 Updated: 18.09.2026

virtio-win provides Windows paravirtualized drivers for QEMU and KVM. From mm210 until mm320, the Viosock driver permits a low-privilege local process to submit an IOCTL_SELECT request with attacker-controlled VIRTIO_VSOCK_SELECT.Fdss[*].fd_count values that overflow the 32-bit sum used by VIOSockSelect for bounds checking. The wrapped sum can pass the FD_SETSIZE check even though an individual descriptor count is much larger than the expected limit. VIOSockSelectCopyFds then iterates using the unchecked count and writes beyond the allocated pPkt->Fds array in the NonPagedPool kernel heap. Successful exploitation can corrupt kernel memory and enable privilege escalation in a Windows guest running the driver. This issue is fixed in mm320.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 7.8

Product Status

Vendor virtio-win
Product kvm-guest-drivers-windows
Versions
  • Version >= mm210, < mm320 is affected

References

Problem Types

  • CWE-122: Heap-based Buffer Overflow CWE
  • CWE-190: Integer Overflow or Wraparound CWE