<?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>Sat, 03 Oct 2026 22:49:03 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-52996 — ksmbd: fix durable fd leak on ClientGUID mismatch in durable v2 open</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-52996</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;ksmbd: fix durable fd leak on ClientGUID mismatch in durable v2 open&lt;/p&gt;
&lt;p&gt;ksmbd_lookup_fd_cguid() returns a ksmbd_file with its refcount
incremented via ksmbd_fp_get(). parse_durable_handle_context() in
the DURABLE_REQ_V2 case properly releases this reference on every
path inside the ClientGUID-match branch, either by calling
ksmbd_put_durable_fd() or by transferring ownership to dh_info-&amp;gt;fp
for a successful reconnect. However, when an entry exists in the
global file table with the same CreateGuid but a different
ClientGUID, the code simply falls through to the new-open path
without dropping the reference obtained from ksmbd_lookup_fd_cguid().&lt;/p&gt;
&lt;p&gt;Per MS-SMB2 section 3.3.5.9.10 (&amp;#34;Handling the
SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 Create Context&amp;#34;), the server
MUST locate an Open whose Open.CreateGuid matches the request&amp;#39;s
CreateGuid AND whose Open.ClientGuid matches the ClientGuid of the
connection that received the request. If no such Open is found, the
server MUST continue with the normal open execution phase. A
CreateGuid hit with a ClientGUID mismatch is therefore the
&amp;#34;Open not found&amp;#34; case: proceeding with a new open is correct, but
the reference obtained purely as a side effect of the lookup must
not be leaked.&lt;/p&gt;
&lt;p&gt;Repeated requests that hit this mismatch pin global_ft entries,
prevent __ksmbd_close_fd() from ever running for the corresponding
files, and defeat the durable scavenger, leading to long-lived
resourc…&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;ksmbd: fix durable fd leak on ClientGUID mismatch in durable v2 open&lt;/p&gt;
&lt;p&gt;ksmbd_lookup_fd_cguid() returns a ksmbd_file with its refcount
incremented via ksmbd_fp_get(). parse_durable_handle_context() in
the DURABLE_REQ_V2 case properly releases this reference on every
path inside the ClientGUID-match branch, either by calling
ksmbd_put_durable_fd() or by transferring ownership to dh_info-&amp;gt;fp
for a successful reconnect. However, when an entry exists in the
global file table with the same CreateGuid but a different
ClientGUID, the code simply falls through to the new-open path
without dropping the reference obtained from ksmbd_lookup_fd_cguid().&lt;/p&gt;
&lt;p&gt;Per MS-SMB2 section 3.3.5.9.10 (&amp;#34;Handling the
SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 Create Context&amp;#34;), the server
MUST locate an Open whose Open.CreateGuid matches the request&amp;#39;s
CreateGuid AND whose Open.ClientGuid matches the ClientGuid of the
connection that received the request. If no such Open is found, the
server MUST continue with the normal open execution phase. A
CreateGuid hit with a ClientGUID mismatch is therefore the
&amp;#34;Open not found&amp;#34; case: proceeding with a new open is correct, but
the reference obtained purely as a side effect of the lookup must
not be leaked.&lt;/p&gt;
&lt;p&gt;Repeated requests that hit this mismatch pin global_ft entries,
prevent __ksmbd_close_fd() from ever running for the corresponding
files, and defeat the durable scavenger, leading to long-lived
resourc…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-52996</guid>
    </item>
  </channel>
</rss>
