{"id":"CVE-2026-90051","summary":"tcp: reject non zerocopy devmem tx","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: reject non zerocopy devmem tx\n\nDevmem tcp tx doesn't work without zero-copy, however it's not currently\nenforced if NETIF_F_SG isn't present. In this case, tcp_sendmsg_locked()\nwill try the copy path and try to copy data from an iovec which consists\nof offsets into the dma-buf and would normally fail. Moreover,\nd9c56501c72fd (\"net: tcp: block mixing readable and unreadable frags\")\nrelies on that and assumes that the devmem binding is present IFF we're\nusing the zero-copy path, which can be used to mix net-iov and pages in\na single skb, and break invariants. Let's reject devmem tx without\nzero-copy.\n\nNote, the parameter check the patch is modifying is too loose, we can\ncreate an io_uring request with dmabuf_id and all ZC flags, but which\nwon't have the binding. We replace it with stricter validation.","modified":"2026-09-18T03:48:35.063579766Z","published":"2026-09-17T16:05:37.620Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90051.json"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/125755776bc6d4dd53eaf551c87e3d460625d638"},{"type":"WEB","url":"https://git.kernel.org/stable/c/2151b2bcf6fcec52665f606eed20da068447f0b7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b04326c7927af7048fd4e730f5770cca350d0a60"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90051.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90051"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"bd61848900bff597764238f3a8ec67c815cd316e"},{"fixed":"2151b2bcf6fcec52665f606eed20da068447f0b7"},{"fixed":"b04326c7927af7048fd4e730f5770cca350d0a60"},{"fixed":"125755776bc6d4dd53eaf551c87e3d460625d638"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90051.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.16.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90051.json"}}],"schema_version":"1.9.0"}