CVE-2026-46207

vsock/virtio: fix empty payload in tap skb for non-linear buffers

published May 28, 2026

CVSS
—
EPSS
0%
Percentile
5.0
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

vsock/virtio: fix empty payload in tap skb for non-linear buffers

For non-linear skbs, virtio_transport_build_skb() goes through

virtio_transport_copy_nonlinear_skb() to copy the original payload

in the new skb to be delivered to the vsockmon tap device.

This manually initializes an iov_iter but does not set iov_iter.count.

Since the iov_iter is zero-initialized, the copy length is zero and no

payload is actually copied to the monitor interface, leaving data

un-initialized.

Fix this by removing the linear vs non-linear split and using

skb_copy_datagram_iter() with iov_iter_kvec() for all cases, as

vhost-vsock already does. This handles both linear and non-linear skbs,

properly initializes the iov_iter, and removes the now unused

virtio_transport_copy_nonlinear_skb().

While touching this code, let's also check the return value of

skb_copy_datagram_iter(), even though it's unlikely to fail.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00162 · 5.0th percentile
Published
2026-05-28T09:40Z
EPSS history
Timeline
  • 28 MAY 09:40Z
    vsock/virtio: fix empty payload in tap skb for non-linear buffers
    cvelistv5