CVE-2026-46207
Awaiting Analysis Awaiting Analysis - Queue
Buffer Overflow in Linux Kernel vsock/virtio

Publication date: 2026-05-28

Last updated on: 2026-05-28

Assigner: kernel.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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-28
Last Modified
2026-05-28
Generated
2026-05-28
AI Q&A
2026-05-28
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's vsock/virtio component, where the code responsible for handling non-linear socket buffers (skbs) incorrectly initializes an iterator used to copy data payloads. Specifically, the function virtio_transport_build_skb() calls virtio_transport_copy_nonlinear_skb() to copy the payload, but the iterator's count is not set, resulting in zero bytes being copied. This means that the data payload sent to the vsockmon tap device is left uninitialized or empty.

The fix involved removing the distinction between linear and non-linear buffers and using a single function, skb_copy_datagram_iter(), which properly initializes the iterator and handles both buffer types correctly, ensuring the payload is copied as intended.


How can this vulnerability impact me? :

Because the payload data is not properly copied and remains uninitialized, any monitoring or tap device relying on this data may receive incomplete or incorrect information. This could lead to data integrity issues or misinterpretation of the data being monitored.

While the vulnerability does not explicitly mention security breaches such as data leakage or privilege escalation, the presence of uninitialized data could potentially cause unexpected behavior in applications or monitoring tools that depend on accurate payload data.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart