<?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>Wed, 07 Oct 2026 22:37:37 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-26676 — af_unix: Call kfree_skb() for dead unix_(sk)-&gt;oob_skb in GC.</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-26676</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;af_unix: Call kfree_skb() for dead unix_(sk)-&amp;gt;oob_skb in GC.&lt;/p&gt;
&lt;p&gt;syzbot reported a warning [0] in __unix_gc() with a repro, which
creates a socketpair and sends one socket&amp;#39;s fd to itself using the
peer.&lt;/p&gt;
&lt;p&gt;socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0
  sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=&amp;#34;\360&amp;#34;, iov_len=1}],
          msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,
                                      cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],
          msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1&lt;/p&gt;
&lt;p&gt;This forms a self-cyclic reference that GC should finally untangle
but does not due to lack of MSG_OOB handling, resulting in memory
leak.&lt;/p&gt;
&lt;p&gt;Recently, commit 11498715f266 (&amp;#34;af_unix: Remove io_uring code for
GC.&amp;#34;) removed io_uring&amp;#39;s dead code in GC and revealed the problem.&lt;/p&gt;
&lt;p&gt;The code was executed at the final stage of GC and unconditionally
moved all GC candidates from gc_candidates to gc_inflight_list.
That papered over the reported problem by always making the following
WARN_ON_ONCE(!list_empty(&amp;amp;gc_candidates)) false.&lt;/p&gt;
&lt;p&gt;The problem has been there since commit 2aab4b969002 (&amp;#34;af_unix: fix
struct pid leaks in OOB support&amp;#34;) added full scm support for MSG_OOB
while fixing another bug.&lt;/p&gt;
&lt;p&gt;To fix this problem, we must call kfree_skb() for unix_sk(sk)-&amp;gt;oob_skb
if the socket still exists in gc_candidates after purging collected skb.&lt;/p&gt;
&lt;p&gt;Then, we need to…&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;af_unix: Call kfree_skb() for dead unix_(sk)-&amp;gt;oob_skb in GC.&lt;/p&gt;
&lt;p&gt;syzbot reported a warning [0] in __unix_gc() with a repro, which
creates a socketpair and sends one socket&amp;#39;s fd to itself using the
peer.&lt;/p&gt;
&lt;p&gt;socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0
  sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=&amp;#34;\360&amp;#34;, iov_len=1}],
          msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,
                                      cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],
          msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1&lt;/p&gt;
&lt;p&gt;This forms a self-cyclic reference that GC should finally untangle
but does not due to lack of MSG_OOB handling, resulting in memory
leak.&lt;/p&gt;
&lt;p&gt;Recently, commit 11498715f266 (&amp;#34;af_unix: Remove io_uring code for
GC.&amp;#34;) removed io_uring&amp;#39;s dead code in GC and revealed the problem.&lt;/p&gt;
&lt;p&gt;The code was executed at the final stage of GC and unconditionally
moved all GC candidates from gc_candidates to gc_inflight_list.
That papered over the reported problem by always making the following
WARN_ON_ONCE(!list_empty(&amp;amp;gc_candidates)) false.&lt;/p&gt;
&lt;p&gt;The problem has been there since commit 2aab4b969002 (&amp;#34;af_unix: fix
struct pid leaks in OOB support&amp;#34;) added full scm support for MSG_OOB
while fixing another bug.&lt;/p&gt;
&lt;p&gt;To fix this problem, we must call kfree_skb() for unix_sk(sk)-&amp;gt;oob_skb
if the socket still exists in gc_candidates after purging collected skb.&lt;/p&gt;
&lt;p&gt;Then, we need to…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-26676</guid>
    </item>
  </channel>
</rss>
