<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 06:26:35 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-64564 — sctp: don't free the ASCONF's own transport in DEL-IP processing</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-64564</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;sctp: don&amp;#39;t free the ASCONF&amp;#39;s own transport in DEL-IP processing&lt;/p&gt;
&lt;p&gt;sctp_process_asconf() caches the transport the ASCONF chunk is processed
against in asconf-&amp;gt;transport (== chunk-&amp;gt;transport, set once in sctp_rcv()).
For an ASCONF located through its Address Parameter by
__sctp_rcv_asconf_lookup(), that cached transport corresponds to the
Address Parameter, which need not be the packet&amp;#39;s source address.&lt;/p&gt;
&lt;p&gt;sctp_process_asconf_param() rejects a DEL-IP for the packet source address
(ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf-&amp;gt;transport.
A single ASCONF can therefore carry, in order:&lt;/p&gt;
&lt;p&gt;[Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]&lt;/p&gt;
&lt;p&gt;where L differs from the source. The DEL-IP for L passes the D8 check and
calls sctp_assoc_rm_peer() on the transport that asconf-&amp;gt;transport still
points at, freeing it (RCU-deferred). The following wildcard DEL-IP then
reuses the now-dangling asconf-&amp;gt;transport in sctp_assoc_set_primary() and
sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed
transport (-&amp;gt;ipaddr, -&amp;gt;state) and plants the dangling pointer into
asoc-&amp;gt;peer.primary_path / active_path, and del_nonprimary_peers(), keeping
only the pointer that is no longer on the list, removes every real
transport, leaving the association with a transport_count of 0 and
primary_path/active_path pointing at freed memory.&lt;/p&gt;
&lt;p&gt;Reject a DEL-IP that targets the transport the ASCONF is being processed
agai…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;sctp: don&amp;#39;t free the ASCONF&amp;#39;s own transport in DEL-IP processing&lt;/p&gt;
&lt;p&gt;sctp_process_asconf() caches the transport the ASCONF chunk is processed
against in asconf-&amp;gt;transport (== chunk-&amp;gt;transport, set once in sctp_rcv()).
For an ASCONF located through its Address Parameter by
__sctp_rcv_asconf_lookup(), that cached transport corresponds to the
Address Parameter, which need not be the packet&amp;#39;s source address.&lt;/p&gt;
&lt;p&gt;sctp_process_asconf_param() rejects a DEL-IP for the packet source address
(ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf-&amp;gt;transport.
A single ASCONF can therefore carry, in order:&lt;/p&gt;
&lt;p&gt;[Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]&lt;/p&gt;
&lt;p&gt;where L differs from the source. The DEL-IP for L passes the D8 check and
calls sctp_assoc_rm_peer() on the transport that asconf-&amp;gt;transport still
points at, freeing it (RCU-deferred). The following wildcard DEL-IP then
reuses the now-dangling asconf-&amp;gt;transport in sctp_assoc_set_primary() and
sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed
transport (-&amp;gt;ipaddr, -&amp;gt;state) and plants the dangling pointer into
asoc-&amp;gt;peer.primary_path / active_path, and del_nonprimary_peers(), keeping
only the pointer that is no longer on the list, removes every real
transport, leaving the association with a transport_count of 0 and
primary_path/active_path pointing at freed memory.&lt;/p&gt;
&lt;p&gt;Reject a DEL-IP that targets the transport the ASCONF is being processed
agai…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-64564</guid>
    </item>
  </channel>
</rss>
