# CVE-2026-64396: linux: In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix UAF of struct file_lock in SMB2_LOCK...

CVE-2026-64396 is fixed in 2 products on 1 platform, first by DEBIAN-CVE-2026-64396, released July 26, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-64396
- Priority: High
- CVSS: 8.8 (high)
- EPSS: 0.0044
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jul 25, 2026

## 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().

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 6.1.180-1 | [DEBIAN-CVE-2026-64396](https://patchblox.com/security/data/fix/linux/debian-cve-2026-64396.md) | Jul 26, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.96-1 | [DEBIAN-CVE-2026-64396](https://patchblox.com/security/data/fix/linux/debian-cve-2026-64396.md) | Jul 26, 2026 |
| Linux | linux Debian 14 | 7.1.4-1 | [DEBIAN-CVE-2026-64396](https://patchblox.com/security/data/fix/linux/debian-cve-2026-64396.md) | Jul 26, 2026 |
| Linux | linux-6.12 Debian 12.15 (bookworm) | 6.12.100-1~deb12u1 | [DEBIAN-CVE-2026-64396](https://patchblox.com/security/data/fix/linux/debian-cve-2026-64396.md) | Jul 26, 2026 |

---

Data as of 2026-11-08T06:59:42Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
