{"id":15017,"date":"2026-09-04T19:02:22","date_gmt":"2026-09-04T11:02:22","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64024"},"modified":"2026-09-04T19:02:22","modified_gmt":"2026-09-04T11:02:22","slug":"cve-2026-64024","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64024","title":{"rendered":"CVE-2026-64024 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: fix stale per-CP"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tcp: fix stale per-CPU tcp_tw_isn leak enabling ISN prediction<\/p>\n<p>Blamed commit moved the TIME_WAIT-derived ISN from the skb control<br \/>\nblock to a per-CPU variable, assuming the value would always be consumed<br \/>\nby tcp_conn_request() for the same packet that wrote it. That assumption<br \/>\nis violated by multiple drop paths between the producer<br \/>\n(__this_cpu_write(tcp_tw_isn, isn) in tcp_v{4,6}_rcv()) and the consumer<br \/>\n(tcp_conn_request()):<\/p>\n<p> &#8211; min_ttl \/ min_hopcount check<br \/>\n &#8211; xfrm policy check<br \/>\n &#8211; tcp_inbound_hash() MD5\/AO mismatch<br \/>\n &#8211; tcp_filter() eBPF\/SO_ATTACH_FILTER drop<br \/>\n &#8211; th-&gt;syn &amp;&amp; th-&gt;fin discard in tcp_rcv_state_process() TCP_LISTEN<br \/>\n &#8211; psp_sk_rx_policy_check() in tcp_v{4,6}_do_rcv()<br \/>\n &#8211; tcp_checksum_complete() in tcp_v{4,6}_do_rcv()<br \/>\n &#8211; tcp_v{4,6}_cookie_check() returning NULL<\/p>\n<p>When a packet is dropped on any of these paths, tcp_tw_isn is left set.<\/p>\n<p>The next SYN processed on the same CPU then consumes the non zero value in<br \/>\ntcp_conn_request(), receiving a potentially predictable ISN.<\/p>\n<p>This patch moves back tcp_tw_isn to skb-&gt;cb[], getting rid of the per-cpu<br \/>\nvariable.<\/p>\n<p>Note that tcp_v{4,6}_fill_cb() do not set it.<\/p>\n<p>Very litle impact on overall code size\/complexity:<\/p>\n<p>$ scripts\/bloat-o-meter -t vmlinux.old vmlinux.new<br \/>\nadd\/remove: 0\/0 grow\/shrink: 2\/1 up\/down: 8\/-15 (-7)<br \/>\nFunction                                     old     new   delta<br \/>\ntcp_v6_rcv                                  3038    3042      +4<br \/>\ntcp_v4_rcv                                  3035    3039      +4<br \/>\ntcp_conn_request                            2938    2923     -15<br \/>\nTotal: Before=24436060, After=24436053, chg -0.00%<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tcp: fix stale per-CPU tcp_tw_isn leak enabling ISN prediction<\/p>\n<p>Blamed commit moved the TIME_WAIT-derived ISN from the skb control<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15017","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15017","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=15017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}