CVE-2026-64396 json
ksmbd: fix UAF of struct file_lock in SMB2_LOCK deferred-lock cancellation
published 2026-07-25 3 mo ago modified 2026-09-04 2 mo ago also EUVD-2026-48940
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
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().
Patch / fix
- Linux Linux 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4, 7.2
- linux Debian 12 6.1.180-1
- linux Debian 13 6.12.96-1
- linux Debian 14 7.1.4-1
- linux-6.12 Debian 12 6.12.100-1~deb12u1
debian advisories DEBIAN-CVE-2026-64396
- linux Ubuntu 24.04 LTS 6.8.0-147.147
- linux Ubuntu 26.04 LTS 7.0.0-31.31
- linux-aws Ubuntu 24.04 LTS 6.8.0-1067.70
- linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1071.79
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1011.11
- linux-gke Ubuntu 24.04 LTS 6.8.0-1066.74
- linux-gke Ubuntu 26.04 LTS 7.0.0-1006.7
ubuntu advisories UBUNTU-CVE-2026-64396
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-source openSUSE Tumbleweed 7.1.7-1.1
opensuse advisories openSUSE-SU-2026:11476-1
- git.kernel.org/stable/c/367c42a611fe488b7b03f1f6737f4dee0e8b20a2 commit
- git.kernel.org/stable/c/7703fd9aba1f2483c8e55f9ff73b7663e0761ed9 commit
- git.kernel.org/stable/c/463bbd79698513af4dad50fe1c573825f297ca2e commit
- git.kernel.org/stable/c/5aa1cb01155f96824003baf7997cdf1f150caba3 commit
- git.kernel.org/stable/c/5c75275c0fc9a2deb0d8f5604edcb16f288171c8 commit
- git.kernel.org/stable/c/d20d1c8ba5765d1d12eefc0aee6385ab3f240e1e commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-64396 updated cvss 7.5
kernel: ksmbd: Use-after-free vulnerability allows arbitrary code execution or denial of service
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
-
git.kernel.org
/stable/c/367c42a611fe488b7b03f1f6737f4dee0e8b20a2
patch
-
git.kernel.org
/stable/c/7703fd9aba1f2483c8e55f9ff73b7663e0761ed9
patch
-
git.kernel.org
/stable/c/463bbd79698513af4dad50fe1c573825f297ca2e
patch
-
git.kernel.org
/stable/c/5aa1cb01155f96824003baf7997cdf1f150caba3
patch
-
git.kernel.org
/stable/c/5c75275c0fc9a2deb0d8f5604edcb16f288171c8
patch
-
git.kernel.org
/stable/c/d20d1c8ba5765d1d12eefc0aee6385ab3f240e1e
patch
Sources
- CVE List CVE-2026-64396
- NVD CVE-2026-64396
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.