<?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:45:48.651472+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-46227</id>
    <title>CVE-2026-46227 — sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL</title>
    <updated>2026-10-01T07:45:48.654190+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support, Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On, Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support, Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On, Red Hat Enterprise Linux 8.8 Telecommunications Update Service, Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions and 6 more</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL</p>
<p>The SCTP_SENDALL path in sctp_sendmsg() iterates ep-&gt;asocs with
list_for_each_entry_safe(), which caches the next entry in @tmp before
the loop body runs.  The body calls sctp_sendmsg_to_asoc(), which may
drop the socket lock inside sctp_wait_for_sndbuf().</p>
<p>While the lock is dropped, another thread can SCTP_SOCKOPT_PEELOFF the
association cached in @tmp, migrating it to a new endpoint via
sctp_sock_migrate() (list_del_init() + list_add_tail() to
newep-&gt;asocs), and optionally close the new socket which frees the
association via kfree_rcu().  The cached @tmp can also be freed by a
network ABORT for that association, processed in softirq while the
lock is dropped.</p>
<p>sctp_wait_for_sndbuf() revalidates @asoc (the current entry) on re-lock
via the "sk != asoc-&gt;base.sk" and "asoc-&gt;base.dead" checks, but nothing
revalidates @tmp.  After a successful return, the iterator advances to
the stale @tmp, yielding either a use-after-free (if the peeled socket
was closed) or a list-walk onto the new endpoint's list head (type
confusion of &amp;newep-&gt;asocs as a struct sctp_association *).</p>
<p>Both are reachable from CapEff=0; the type-confusion path gives
controlled indirect call via the outqueue.sched-&gt;init_sid pointer.</p>
<p>Fix by re-deriving @tmp from @asoc after sctp_sendmsg_to_asoc()
returns.  @asoc is known to still be on ep-&gt;asocs at that point: the
only…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-46227"/>
  </entry>
</feed>
