{"id":"CVE-2026-46207","summary":"vsock/virtio: fix empty payload in tap skb for non-linear buffers","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nvsock/virtio: fix empty payload in tap skb for non-linear buffers\n\nFor non-linear skbs, virtio_transport_build_skb() goes through\nvirtio_transport_copy_nonlinear_skb() to copy the original payload\nin the new skb to be delivered to the vsockmon tap device.\nThis manually initializes an iov_iter but does not set iov_iter.count.\nSince the iov_iter is zero-initialized, the copy length is zero and no\npayload is actually copied to the monitor interface, leaving data\nun-initialized.\n\nFix this by removing the linear vs non-linear split and using\nskb_copy_datagram_iter() with iov_iter_kvec() for all cases, as\nvhost-vsock already does. This handles both linear and non-linear skbs,\nproperly initializes the iov_iter, and removes the now unused\nvirtio_transport_copy_nonlinear_skb().\n\nWhile touching this code, let's also check the return value of\nskb_copy_datagram_iter(), even though it's unlikely to fail.","modified":"2026-07-21T09:59:43.805581833Z","published":"2026-05-28T09:40:25.583Z","related":["SUSE-SU-2026:3130-1","openSUSE-SU-2026:10954-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46207.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/06747f52ab157591cec7e5623a759473b66ef6f6"},{"type":"WEB","url":"https://git.kernel.org/stable/c/378b131a25bd1a5ee27ca199fe486c299d5350c5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3a3e3d90cbc79600544536723911657730759af3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/52da6a74ca3de0fcda60301096b71534b3b18641"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46207.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-46207"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4b0bf10eb077cb43c09746251ef3608d62c45667"},{"fixed":"06747f52ab157591cec7e5623a759473b66ef6f6"},{"fixed":"52da6a74ca3de0fcda60301096b71534b3b18641"},{"fixed":"378b131a25bd1a5ee27ca199fe486c299d5350c5"},{"fixed":"3a3e3d90cbc79600544536723911657730759af3"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-46207.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.90"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.32"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.0.9"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-46207.json"}}],"schema_version":"1.7.5"}