Answer in brief
CVE-2026-53198 records a High severity (CVSS 8.8) vulnerability in ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
Answer in brief
CVE-2026-53198 records a High severity (CVSS 8.8) vulnerability in ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 8.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <b7063c7426ea5a4d15e01b60538718765392f49d || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <0da2e073f9cbf4985a0fd9acb71bc5ff599f8afd || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <89ae9df09d2c1fb4a4eb495c113a7ce1dca34147 || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <14d2eee0193ac3cd1bf3d014373449f0b8d35d6d || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <2b2eda2821cff1d1b5a423b6ee7d8fc6fbc8e694 || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <f580d27e8928828693df44ba2db0fffdbe11dfea | b7063c7426ea5a4d15e01b60538718765392f49d, 0da2e073f9cbf4985a0fd9acb71bc5ff599f8afd, 89ae9df09d2c1fb4a4eb495c113a7ce1dca34147, 14d2eee0193ac3cd1bf3d014373449f0b8d35d6d, 2b2eda2821cff1d1b5a423b6ee7d8fc6fbc8e694, f580d27e8928828693df44ba2db0fffdbe11dfea |
| Linux/Linuxgeneric | 5.15 | Not reported |
Published upstream
Jun 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 5, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 25, 2026
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL A deferred byte-range lock (an SMB2_LOCK that blocks) registers an async work on conn->async_requests via setup_async_work(), with cancel_fn = smb2_remove_blocked_lock and cancel_argv[0] pointing at the struct file_lock. When the request is cancelled, the worker frees the file_lock with locks_free_lock() and takes the cancelled early-exit, which "goto out"s and never reaches release_async_work() -- the only site that unlinks the work from conn->async_requests and clears cancel_fn/cancel_argv. The work therefore stays matchable on async_requests with a live cancel_fn pointing at the freed file_lock, until connection teardown finally runs release_async_work(). smb2_cancel() fires cancel_fn unconditionally with no state guard, so a second SMB2_CANCEL for the same AsyncId, arriving in that window, re-runs smb2_remove_blocked_lock() on the freed file_lock -- a slab use-after-free: BUG: KASAN: slab-use-after-free in __locks_delete_block __locks_delete_block locks_delete_block ksmbd_vfs_posix_lock_unblock smb2_remove_blocked_lock smb2_cancel <- 2nd SMB2_CANCEL fires cancel_fn handle_ksmbd_work Allocated by ...: locks_alloc_lock <- smb2_lock Freed by ...: locks_free_lock <- smb2_lock (cancelled branch) ... cache file_lock_cache of size 192 Reproduced on mainline with KASAN by an authenticated SMB client. Skip a work whose state is already KSMBD_WORK_CANCELLED so its cancel callback cannot be fired a second time.
Quoted source text, attributed separately from HOL analysis.
CVSS is 8.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <b7063c7426ea5a4d15e01b60538718765392f49d || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <0da2e073f9cbf4985a0fd9acb71bc5ff599f8afd || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <89ae9df09d2c1fb4a4eb495c113a7ce1dca34147 || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <14d2eee0193ac3cd1bf3d014373449f0b8d35d6d || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <2b2eda2821cff1d1b5a423b6ee7d8fc6fbc8e694 || >=e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <f580d27e8928828693df44ba2db0fffdbe11dfea | b7063c7426ea5a4d15e01b60538718765392f49d, 0da2e073f9cbf4985a0fd9acb71bc5ff599f8afd, 89ae9df09d2c1fb4a4eb495c113a7ce1dca34147, 14d2eee0193ac3cd1bf3d014373449f0b8d35d6d, 2b2eda2821cff1d1b5a423b6ee7d8fc6fbc8e694, f580d27e8928828693df44ba2db0fffdbe11dfea |
| Linux/Linuxgeneric | 5.15 | Not reported |
Published upstream
Jun 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 5, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 25, 2026
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL A deferred byte-range lock (an SMB2_LOCK that blocks) registers an async work on conn->async_requests via setup_async_work(), with cancel_fn = smb2_remove_blocked_lock and cancel_argv[0] pointing at the struct file_lock. When the request is cancelled, the worker frees the file_lock with locks_free_lock() and takes the cancelled early-exit, which "goto out"s and never reaches release_async_work() -- the only site that unlinks the work from conn->async_requests and clears cancel_fn/cancel_argv. The work therefore stays matchable on async_requests with a live cancel_fn pointing at the freed file_lock, until connection teardown finally runs release_async_work(). smb2_cancel() fires cancel_fn unconditionally with no state guard, so a second SMB2_CANCEL for the same AsyncId, arriving in that window, re-runs smb2_remove_blocked_lock() on the freed file_lock -- a slab use-after-free: BUG: KASAN: slab-use-after-free in __locks_delete_block __locks_delete_block locks_delete_block ksmbd_vfs_posix_lock_unblock smb2_remove_blocked_lock smb2_cancel <- 2nd SMB2_CANCEL fires cancel_fn handle_ksmbd_work Allocated by ...: locks_alloc_lock <- smb2_lock Freed by ...: locks_free_lock <- smb2_lock (cancelled branch) ... cache file_lock_cache of size 192 Reproduced on mainline with KASAN by an authenticated SMB client. Skip a work whose state is already KSMBD_WORK_CANCELLED so its cancel callback cannot be fired a second time.
Quoted source text, attributed separately from HOL analysis.