CVE-2026-64396 Details
Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix UAF of struct file_lock in SMB2_LOCK deferred-lock cancellation When a blocking byte-range lock request is deferred in the FILE_LOCK_DEFERRED path, ksmbd registers the asynchronous work into the connection's async_requests list via setup_async_work(). The cancel callback smb2_remove_blocked_lock() holds a reference to the flock. If the lock waiter is subsequently woken up but the work state is no longer KSMBD_WORK_ACTIVE (e.g., due to a concurrent cancellation), the cleanup path calls locks_free_lock(flock) without dequeuing the work from the async_requests list. Concurrently, smb2_cancel() walks the list under conn->request_lock and invokes the cancel callback, which then dereferences the already freed 'flock'. This leads to a slab-use-after-free inside __wake_up_common. Fix this by restructuring the cleanup logic after the worker returns from ksmbd_vfs_posix_lock_wait(). Move list_del(&smb_lock->llist) and release_async_work(work) to the top of the cleanup block. This guarantees that the async work is completely dequeued and serialized under conn->request_lock before locks_free_lock(flock) is called, rendering the flock unreachable for any concurrent smb2_cancel().
A use-after-free vulnerability has been identified in the Linux kernel's ksmbd component, specifically in how SMB2 lock requests are managed. When a blocking byte-range lock is deferred, ksmbd adds the associated work to the connection's asynchronous requests list. If the lock is later canceled and the work is not properly removed from the list, this can lead to a use-after-free condition. The issue arises because the cancellation process can attempt to access a lock that has already been freed, causing memory corruption.
The vulnerability has been fixed by changing the order of operations in the lock cancellation process. The fix involves moving the removal of the lock from the list and the release of the asynchronous work to the beginning of the cleanup process, ensuring that the work is properly dequeued before the lock is freed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/367c42a611fe488b7b03f1f6737f4dee0e8b20a2 | kernel.org | Patch |
| https://git.kernel.org/stable/c/463bbd79698513af4dad50fe1c573825f297ca2e | kernel.org | Patch |
| https://git.kernel.org/stable/c/5aa1cb01155f96824003baf7997cdf1f150caba3 | kernel.org | Patch |
| https://git.kernel.org/stable/c/5c75275c0fc9a2deb0d8f5604edcb16f288171c8 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7703fd9aba1f2483c8e55f9ff73b7663e0761ed9 | kernel.org | Patch |
| https://git.kernel.org/stable/c/d20d1c8ba5765d1d12eefc0aee6385ab3f240e1e | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.15, < 6.1.178 >= 6.2, < 6.6.145 >= 6.7, < 6.12.96 >= 6.13, < 6.18.39 >= 6.19, < 7.1.4 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 4, 2026 | Initial Analysis | [email protected] |
| Aug 17, 2026 | CVE Modified | kernel.org |
| Jul 27, 2026 | CVE Modified | kernel.org |
| Jul 25, 2026 | New CVE Received | kernel.org |