{"id":11199,"date":"2026-09-04T18:51:44","date_gmt":"2026-09-04T10:51:44","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74588"},"modified":"2026-09-04T18:51:44","modified_gmt":"2026-09-04T10:51:44","slug":"cve-2026-74588","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74588","title":{"rendered":"CVE-2026-74588 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: keep chunk-&gt;tra"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sctp: keep chunk-&gt;transport in step with the list it is queued on<\/p>\n<p>__sctp_outq_flush_rtx() moves a gap-acked chunk onto another transport&#8217;s<br \/>\ntransmitted list without updating chunk-&gt;transport:<\/p>\n<p>\tif (chunk-&gt;tsn_gap_acked) {<br \/>\n\t\tlist_move_tail(&amp;chunk-&gt;transmitted_list,<br \/>\n\t\t\t       &amp;transport-&gt;transmitted);<br \/>\n\t\tcontinue;<br \/>\n\t}<\/p>\n<p>The chunk then sits on a live transport&#8217;s list while chunk-&gt;transport still<br \/>\nnames a different one.  If that transport is removed &#8211; sctp_assoc_rm_peer()<br \/>\nfrom an ASCONF Delete-IP &#8211; sctp_transport_free() RCU-frees it and the chunk<br \/>\nis left with a dangling pointer.  sctp_assoc_rm_peer() scrubs<br \/>\npeer-&gt;transmitted and asoc-&gt;outqueue.out_chunk_list, but the chunk is on<br \/>\nneither.<\/p>\n<p>The pointer is not followed while tsn_gap_acked is set.  A SACK that<br \/>\nreneges on the TSN clears the flag, and the next SACK reaches<\/p>\n<p>\ttchunk-&gt;transport-&gt;flight_size -= sctp_data_size(tchunk);<\/p>\n<p>inside the freed transport.  KASAN reports a slab-use-after-free read in<br \/>\nsctp_check_transmitted(), freed from sctp_assoc_rm_peer().  Both the<br \/>\nremoval and the SACKs come from the association peer.<\/p>\n<p>Set chunk-&gt;transport at the move.  The ordinary resend path needs nothing:<br \/>\nit reaches its list_move_tail() only after sctp_packet_append_chunk()<br \/>\nreturned SCTP_XMIT_OK, and __sctp_packet_append_chunk() has rebound the<br \/>\nchunk by then.<\/p>\n<p>Discovered by XBOW, triaged by Baul Lee <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sctp: keep chunk-&gt;transport in step with the list it is queued on<\/p>\n<p>__sctp_outq_flush_rtx() moves a gap-acked chunk onto another tra<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11199","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11199","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=11199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}