CVE-2026-52996
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
24/06/2026
Last modified:
15/07/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ksmbd: fix durable fd leak on ClientGUID mismatch in durable v2 open<br />
<br />
ksmbd_lookup_fd_cguid() returns a ksmbd_file with its refcount<br />
incremented via ksmbd_fp_get(). parse_durable_handle_context() in<br />
the DURABLE_REQ_V2 case properly releases this reference on every<br />
path inside the ClientGUID-match branch, either by calling<br />
ksmbd_put_durable_fd() or by transferring ownership to dh_info->fp<br />
for a successful reconnect. However, when an entry exists in the<br />
global file table with the same CreateGuid but a different<br />
ClientGUID, the code simply falls through to the new-open path<br />
without dropping the reference obtained from ksmbd_lookup_fd_cguid().<br />
<br />
Per MS-SMB2 section 3.3.5.9.10 ("Handling the<br />
SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 Create Context"), the server<br />
MUST locate an Open whose Open.CreateGuid matches the request&#39;s<br />
CreateGuid AND whose Open.ClientGuid matches the ClientGuid of the<br />
connection that received the request. If no such Open is found, the<br />
server MUST continue with the normal open execution phase. A<br />
CreateGuid hit with a ClientGUID mismatch is therefore the<br />
"Open not found" case: proceeding with a new open is correct, but<br />
the reference obtained purely as a side effect of the lookup must<br />
not be leaked.<br />
<br />
Repeated requests that hit this mismatch pin global_ft entries,<br />
prevent __ksmbd_close_fd() from ever running for the corresponding<br />
files, and defeat the durable scavenger, leading to long-lived<br />
resource leaks.<br />
<br />
Release the reference in the mismatch path and clear dh_info->fp so<br />
subsequent logic does not mistake a non-matching lookup result for<br />
a reconnect target.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6.32 (including) | 6.6.141 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9 (including) | 6.12.91 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.33 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 7.0.10 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/06f709d0e531f3e54d88665dd426be3998a774e6
- https://git.kernel.org/stable/c/407b6e699ba8b45b72cc265eed8a1bc8a7191609
- https://git.kernel.org/stable/c/804054d19886ac6628883d82410f6ee42a818664
- https://git.kernel.org/stable/c/8c4a0ef19c8264c150833131af34541495832cd0
- https://git.kernel.org/stable/c/f31beef633fbf2b5af7805fa187a10bcff1d4b49



