{"id":"CVE-2026-99055","summary":"tcp: reject net_iov in zerocopy receive mapping hints","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: reject net_iov in zerocopy receive mapping hints\n\nAfter copying a readable prefix, receive_fallback_to_copy() asks\ntcp_zerocopy_set_hint_for_skb() where page mapping can resume. If the\nnext skb is unreadable, find_next_mappable_frag() passes its net_iov\nfragment to can_map_frag().\n\nskb_frag_page() returns NULL for a net_iov, but can_map_frag()\ndereferences it in PageCompound(). A v7.2 KASAN run on a connected TCP\nsocket with 64 readable bytes followed by a 4096-byte NET_IOV_DMABUF\nfragment reported:\n\n  BUG: KASAN: null-ptr-deref in can_map_frag\n  tcp_zerocopy_receive -\u003e can_map_frag\n  Kernel panic - not syncing: KASAN: panic_on_warn set\n\nThe diagnostic inserted the net_iov directly because the test host has\nno devmem-capable NIC. Hardware end-to-end reachability remains untested\nand requires CONFIG_NET_DEVMEM plus a supported DMA-buf-bound RX queue.\n\nReject all net_iov fragments before skb_frag_page(). This covers both\nDMABUF and IOURING net_iov types while leaving page-backed checks\nunchanged. With the guard, the same queue copied the readable prefix,\nreturned a 4096-byte skip hint, and completed without a fault.","modified":"2026-10-25T02:47:28.976007420Z","published":"2026-10-23T12:22:39.451Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99055.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1c7463ac0e99cc91c4eecc1b69a740ef1a619932"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3aa6f536a95eb0617c313ae2eb76fdfa85331f85"},{"type":"WEB","url":"https://git.kernel.org/stable/c/563d3564513496b9ce3b3ba7a5154427554d0f06"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8b1f0af1fd5fd113432233ed8a3862ee7c30a84f"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99055.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99055"},{"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":"9f6b619edf2e85746f261b42ae8f818a59d126f7"},{"fixed":"563d3564513496b9ce3b3ba7a5154427554d0f06"},{"fixed":"1c7463ac0e99cc91c4eecc1b69a740ef1a619932"},{"fixed":"3aa6f536a95eb0617c313ae2eb76fdfa85331f85"},{"fixed":"8b1f0af1fd5fd113432233ed8a3862ee7c30a84f"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-99055.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.12.0"},{"fixed":"6.12.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.57"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-99055.json"}}],"schema_version":"1.9.2"}