{"id":11200,"date":"2026-09-04T18:51:45","date_gmt":"2026-09-04T10:51:45","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74589"},"modified":"2026-09-04T18:51:45","modified_gmt":"2026-09-04T10:51:45","slug":"cve-2026-74589","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74589","title":{"rendered":"CVE-2026-74589 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Fix sk_"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf, sockmap: Fix sk_redir use-after-free in send verdict<\/p>\n<p>sk_psock_msg_verdict() takes a socket reference for psock-&gt;sk_redir.<br \/>\ntcp_bpf_send_verdict() copies that pointer while holding the source socket<br \/>\nlock, but does not take a reference for the local copy before dropping the<br \/>\nlock around tcp_bpf_sendmsg_redir().<\/p>\n<p>When apply_bytes keeps the cached verdict active, another sendmsg() on the<br \/>\nsame source socket can consume the remaining bytes and release the cached<br \/>\nreference while the first thread still holds only the raw local pointer:<\/p>\n<p>  CPU 0                                  CPU 1<br \/>\n  sk_redir = psock-&gt;sk_redir<br \/>\n  apply_bytes remains nonzero<br \/>\n  release_sock(sk)<br \/>\n                                         lock_sock(sk)<br \/>\n                                         apply_bytes reaches zero<br \/>\n                                         psock-&gt;sk_redir = NULL<br \/>\n                                         release_sock(sk)<br \/>\n                                         tcp_bpf_sendmsg_redir(sk_redir)<br \/>\n                                         sock_put(sk_redir)<br \/>\n  tcp_bpf_sendmsg_redir(sk_redir)<\/p>\n<p>The final sock_put() can free sk_redir before CPU 0 dereferences it.<\/p>\n<p>KASAN reported:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in tcp_bpf_sendmsg_redir+0xf39\/0x1020<br \/>\n  Read of size 8 at addr ffff888108537090 by task poc\/87<br \/>\n  Call Trace:<br \/>\n   tcp_bpf_sendmsg_redir+0xf39\/0x1020<br \/>\n   tcp_bpf_sendmsg+0x977\/0x1a50<br \/>\n   __sys_sendto+0x32c\/0x3a0<br \/>\n   __x64_sys_sendto+0xdb\/0x1b0<br \/>\n  Allocated by task 85:<br \/>\n   sk_prot_alloc+0x56\/0x210<br \/>\n   sk_clone+0x6f\/0x14b0<br \/>\n   inet_csk_clone_lock+0x24\/0x740<br \/>\n   tcp_create_openreq_child+0x25\/0x2710<br \/>\n   tcp_v4_syn_recv_sock+0x10a\/0xe00<br \/>\n  Freed by task 0:<br \/>\n   __kasan_slab_free+0x43\/0x70<br \/>\n   slab_free_after_rcu_debug+0xa6\/0x1e0<br \/>\n   rcu_core+0x50a\/0x1850<br \/>\n  Last potentially related work creation:<br \/>\n   __sk_destruct+0x3da\/0x540<br \/>\n   sk_psock_destroy+0x81e\/0xab0<br \/>\n   process_one_work+0x63a\/0x1070<\/p>\n<p>Take a temporary socket reference while the source socket lock still<br \/>\nprotects psock-&gt;sk_redir, and drop it after tcp_bpf_sendmsg_redir()<br \/>\nreturns.  This keeps each unlocked use independent of cached-verdict<br \/>\nownership.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf, sockmap: Fix sk_redir use-after-free in send verdict<\/p>\n<p>sk_psock_msg_verdict() takes a socket reference for psock-&gt;sk_redir.<br \/>\ntcp<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11200","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}