Description
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix use-after-free and NULL deref in smb_grant_oplock()
smb_grant_oplock() has two issues in the oplock publication sequence:
1) opinfo is linked into ci->m_op_list (via opinfo_add) before
add_lease_global_list() is called. If add_lease_global_list()
fails (kmalloc returns NULL), the error path frees the opinfo
via __free_opinfo() while it is still linked in ci->m_op_list.
Concurrent m_op_list readers (opinfo_get_list, or direct iteration
in smb_break_all_levII_oplock) dereference the freed node.
2) opinfo->o_fp is assigned after add_lease_global_list() publishes
the opinfo on the global lease list. A concurrent
find_same_lease_key() can walk the lease list and dereference
opinfo->o_fp->f_ci while o_fp is still NULL.
Fix by restructuring the publication sequence to eliminate post-publish
failure:
- Set opinfo->o_fp before any list publication (fixes NULL deref).
- Preallocate lease_table via alloc_lease_table() before opinfo_add()
so add_lease_global_list() becomes infallible after publication.
- Keep the original m_op_list publication order (opinfo_add before
lease list) so concurrent opens via same_client_has_lease() and
opinfo_get_list() still see the in-flight grant.
- Use opinfo_put() instead of __free_opinfo() on err_out so that
the RCU-deferred free path is used.
This also requires splitting add_lease_global_list() to take a
preallocated lease_table and changing its return type from int to void,
since it can no longer fail.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.6.130 – < 6.6.131, 6.12.78 – < 6.12.80, 6.18.19 – < 6.18.21, 6.19.9 – < 6.19.11 | 6.6.131 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.19.11-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 25.10 | linux +6 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-gcp-6.17 | 6.17.0-1021.24~24.04.1 | USN-8570-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.17 | 6.17.0-41.41~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1031.31 | USN-8669-1 |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1030.30 | USN-8594-1 |
| Ubuntu 24.04 LTS | linux-oracle-6.17 | 6.17.0-1019.19~24.04.3 | USN-8570-2 |
| Ubuntu 24.04 LTS | linux-riscv +15 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1018.20~24.04.1 | USN-8570-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.134.1-2 | — |
Advisories 5
- WID-SEC-2026-1252 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8669-1 linux-nvidia-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-1 linux-gcp-6.17, linux-realtime-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-2 linux-oracle-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8594-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
References
- https://git.kernel.org/stable/c/9e785f004cbc56390479b77375726ea9b0d1a8a6
- https://git.kernel.org/stable/c/7de55bba69cbf0f9280daaea385daf08bc076121
- https://git.kernel.org/stable/c/a5c6f6d6ceefed2d5210ee420fb75f8362461f46
- https://git.kernel.org/stable/c/6d7e5a918c1d0aad06db0e17677b66fc9a471021
- https://git.kernel.org/stable/c/48623ec358c1c600fa1e38368746f933e0f1a617