<?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 09:27:38 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-53178 — smb: Don't leak cfid when reconnect races with open_cached_dir</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-53178</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;smb: Don&amp;#39;t leak cfid when reconnect races with open_cached_dir&lt;/p&gt;
&lt;p&gt;open_cached_dir() may either race with the tcon reconnection even before
compound_send_recv() or directly trigger a reconnection via
SMB2_open_init() or SMB_query_info_init().&lt;/p&gt;
&lt;p&gt;The reconnection process invokes invalidate_all_cached_dirs() via
cifs_mark_open_files_invalid(), which removes all cfids from the
cfids-&amp;gt;entries list but doesn&amp;#39;t drop a ref if has_lease isn&amp;#39;t true. This
results in the currently-being-constructed cfid not being on the list,
but still having a refcount of 2. It leaks if returned from
open_cached_dir().&lt;/p&gt;
&lt;p&gt;Fix this by setting cfid-&amp;gt;has_lease when the ref is actually taken; the
cfid will not be used by other threads until it has a valid time.&lt;/p&gt;
&lt;p&gt;Addresses these kmemleaks:&lt;/p&gt;
&lt;p&gt;unreferenced object 0xffff8881090c4000 (size 1024):
  comm &amp;#34;bash&amp;#34;, pid 1860, jiffies 4295126592
  hex dump (first 32 bytes):
    00 01 00 00 00 00 ad de 22 01 00 00 00 00 ad de  ........&amp;#34;.......
    00 ca 45 22 81 88 ff ff f8 dc 4f 04 81 88 ff ff  ..E&amp;#34;......O.....
  backtrace (crc 6f58c20f):
    [&amp;lt;ffffffff8b895a1e&amp;gt;] __kmalloc_cache_noprof+0x2be/0x350
    [&amp;lt;ffffffff8bda06e3&amp;gt;] open_cached_dir+0x993/0x1fb0
    [&amp;lt;ffffffff8bdaa750&amp;gt;] cifs_readdir+0x15a0/0x1d50
    [&amp;lt;ffffffff8b9a853f&amp;gt;] iterate_dir+0x28f/0x4b0
    [&amp;lt;ffffffff8b9a9aed&amp;gt;] __x64_sys_getdents64+0xfd/0x200
    [&amp;lt;ffffffff8cf6da05&amp;gt;] do_syscall_64+0x95/0x1a0
    [&amp;lt;ffffffff8d00012f&amp;gt;] entry_SYSCALL_64_after_hwfr…&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;smb: Don&amp;#39;t leak cfid when reconnect races with open_cached_dir&lt;/p&gt;
&lt;p&gt;open_cached_dir() may either race with the tcon reconnection even before
compound_send_recv() or directly trigger a reconnection via
SMB2_open_init() or SMB_query_info_init().&lt;/p&gt;
&lt;p&gt;The reconnection process invokes invalidate_all_cached_dirs() via
cifs_mark_open_files_invalid(), which removes all cfids from the
cfids-&amp;gt;entries list but doesn&amp;#39;t drop a ref if has_lease isn&amp;#39;t true. This
results in the currently-being-constructed cfid not being on the list,
but still having a refcount of 2. It leaks if returned from
open_cached_dir().&lt;/p&gt;
&lt;p&gt;Fix this by setting cfid-&amp;gt;has_lease when the ref is actually taken; the
cfid will not be used by other threads until it has a valid time.&lt;/p&gt;
&lt;p&gt;Addresses these kmemleaks:&lt;/p&gt;
&lt;p&gt;unreferenced object 0xffff8881090c4000 (size 1024):
  comm &amp;#34;bash&amp;#34;, pid 1860, jiffies 4295126592
  hex dump (first 32 bytes):
    00 01 00 00 00 00 ad de 22 01 00 00 00 00 ad de  ........&amp;#34;.......
    00 ca 45 22 81 88 ff ff f8 dc 4f 04 81 88 ff ff  ..E&amp;#34;......O.....
  backtrace (crc 6f58c20f):
    [&amp;lt;ffffffff8b895a1e&amp;gt;] __kmalloc_cache_noprof+0x2be/0x350
    [&amp;lt;ffffffff8bda06e3&amp;gt;] open_cached_dir+0x993/0x1fb0
    [&amp;lt;ffffffff8bdaa750&amp;gt;] cifs_readdir+0x15a0/0x1d50
    [&amp;lt;ffffffff8b9a853f&amp;gt;] iterate_dir+0x28f/0x4b0
    [&amp;lt;ffffffff8b9a9aed&amp;gt;] __x64_sys_getdents64+0xfd/0x200
    [&amp;lt;ffffffff8cf6da05&amp;gt;] do_syscall_64+0x95/0x1a0
    [&amp;lt;ffffffff8d00012f&amp;gt;] entry_SYSCALL_64_after_hwfr…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-53178</guid>
    </item>
  </channel>
</rss>
