<?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 01:59:41 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-47711 — af_unix: Don't return OOB skb in manage_oob().</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-47711</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: Don&amp;#39;t return OOB skb in manage_oob().&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free in unix_stream_recv_urg(). [0]&lt;/p&gt;
&lt;p&gt;The scenario is&lt;/p&gt;
&lt;p&gt;1. send(MSG_OOB)
  2. recv(MSG_OOB)
     -&amp;gt; The consumed OOB remains in recv queue
  3. send(MSG_OOB)
  4. recv()
     -&amp;gt; manage_oob() returns the next skb of the consumed OOB
     -&amp;gt; This is also OOB, but unix_sk(sk)-&amp;gt;oob_skb is not cleared
  5. recv(MSG_OOB)
     -&amp;gt; unix_sk(sk)-&amp;gt;oob_skb is used but already freed&lt;/p&gt;
&lt;p&gt;The recent commit 8594d9b85c07 (&amp;#34;af_unix: Don&amp;#39;t call skb_get() for OOB
skb.&amp;#34;) uncovered the issue.&lt;/p&gt;
&lt;p&gt;If the OOB skb is consumed and the next skb is peeked in manage_oob(),
we still need to check if the skb is OOB.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s do so by falling back to the following checks in manage_oob()
and add the test case in selftest.&lt;/p&gt;
&lt;p&gt;Note that we need to add a similar check for SIOCATMARK.&lt;/p&gt;
&lt;p&gt;[0]:
BUG: KASAN: slab-use-after-free in unix_stream_read_actor+0xa6/0xb0 net/unix/af_unix.c:2959
Read of size 4 at addr ffff8880326abcc4 by task syz-executor178/5235&lt;/p&gt;
&lt;p&gt;CPU: 0 UID: 0 PID: 5235 Comm: syz-executor178 Not tainted 6.11.0-rc5-syzkaller-00742-gfbdaffe41adc #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Call Trace:
 &amp;lt;TASK&amp;gt;
 __dump_stack lib/dump_stack.c:93 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
 print_address_description mm/kasan/report.c:377 [inline]
 print_report+0x169/0x550 mm/kasan/report.c:488
 kasan_report+0x143/0x180 mm/k…&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: Don&amp;#39;t return OOB skb in manage_oob().&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free in unix_stream_recv_urg(). [0]&lt;/p&gt;
&lt;p&gt;The scenario is&lt;/p&gt;
&lt;p&gt;1. send(MSG_OOB)
  2. recv(MSG_OOB)
     -&amp;gt; The consumed OOB remains in recv queue
  3. send(MSG_OOB)
  4. recv()
     -&amp;gt; manage_oob() returns the next skb of the consumed OOB
     -&amp;gt; This is also OOB, but unix_sk(sk)-&amp;gt;oob_skb is not cleared
  5. recv(MSG_OOB)
     -&amp;gt; unix_sk(sk)-&amp;gt;oob_skb is used but already freed&lt;/p&gt;
&lt;p&gt;The recent commit 8594d9b85c07 (&amp;#34;af_unix: Don&amp;#39;t call skb_get() for OOB
skb.&amp;#34;) uncovered the issue.&lt;/p&gt;
&lt;p&gt;If the OOB skb is consumed and the next skb is peeked in manage_oob(),
we still need to check if the skb is OOB.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s do so by falling back to the following checks in manage_oob()
and add the test case in selftest.&lt;/p&gt;
&lt;p&gt;Note that we need to add a similar check for SIOCATMARK.&lt;/p&gt;
&lt;p&gt;[0]:
BUG: KASAN: slab-use-after-free in unix_stream_read_actor+0xa6/0xb0 net/unix/af_unix.c:2959
Read of size 4 at addr ffff8880326abcc4 by task syz-executor178/5235&lt;/p&gt;
&lt;p&gt;CPU: 0 UID: 0 PID: 5235 Comm: syz-executor178 Not tainted 6.11.0-rc5-syzkaller-00742-gfbdaffe41adc #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Call Trace:
 &amp;lt;TASK&amp;gt;
 __dump_stack lib/dump_stack.c:93 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
 print_address_description mm/kasan/report.c:377 [inline]
 print_report+0x169/0x550 mm/kasan/report.c:488
 kasan_report+0x143/0x180 mm/k…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-47711</guid>
    </item>
  </channel>
</rss>
