<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T07:16:44.246395+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-74588</id>
    <title>CVE-2026-74588 — sctp: keep chunk-&gt;transport in step with the list it is queued on</title>
    <updated>2026-10-01T07:16:45.011710+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>sctp: keep chunk-&gt;transport in step with the list it is queued on</p>
<p>__sctp_outq_flush_rtx() moves a gap-acked chunk onto another transport's
transmitted list without updating chunk-&gt;transport:</p>
<p>if (chunk-&gt;tsn_gap_acked) {
		list_move_tail(&amp;chunk-&gt;transmitted_list,
			       &amp;transport-&gt;transmitted);
		continue;
	}</p>
<p>The chunk then sits on a live transport's list while chunk-&gt;transport still
names a different one.  If that transport is removed - sctp_assoc_rm_peer()
from an ASCONF Delete-IP - sctp_transport_free() RCU-frees it and the chunk
is left with a dangling pointer.  sctp_assoc_rm_peer() scrubs
peer-&gt;transmitted and asoc-&gt;outqueue.out_chunk_list, but the chunk is on
neither.</p>
<p>The pointer is not followed while tsn_gap_acked is set.  A SACK that
reneges on the TSN clears the flag, and the next SACK reaches</p>
<p>tchunk-&gt;transport-&gt;flight_size -= sctp_data_size(tchunk);</p>
<p>inside the freed transport.  KASAN reports a slab-use-after-free read in
sctp_check_transmitted(), freed from sctp_assoc_rm_peer().  Both the
removal and the SACKs come from the association peer.</p>
<p>Set chunk-&gt;transport at the move.  The ordinary resend path needs nothing:
it reaches its list_move_tail() only after sctp_packet_append_chunk()
returned SCTP_XMIT_OK, and __sctp_packet_append_chunk() has rebound the
chunk by then.</p>
<p>Discovered by XBOW, triaged by Baul Lee &lt;baul.lee@xbow.com&gt;</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-74588"/>
  </entry>
</feed>
