CVE-2026-46207

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

State
Published
Severity
Not scored
Published
May 28, 2026
Updated
Jun 14, 2026
Reserved
May 13, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4b0bf10eb077cb43c09746251ef3608d62c45667 to before 06747f52ab157591cec7e5623a759473b66ef6f6Affected
  • 4b0bf10eb077cb43c09746251ef3608d62c45667 to before 52da6a74ca3de0fcda60301096b71534b3b18641Affected
  • 4b0bf10eb077cb43c09746251ef3608d62c45667 to before 378b131a25bd1a5ee27ca199fe486c299d5350c5Affected
  • 4b0bf10eb077cb43c09746251ef3608d62c45667 to before 3a3e3d90cbc79600544536723911657730759af3Affected
LinuxLinux
  • 6.7Affected
  • before 6.7Not affected
  • 6.12.90 through 6.12.*Not affected
  • 6.18.32 through 6.18.*Not affected
  • 7.0.9 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.