Vulnerability · Published Apr 22, 2026 · Assigned by Linux
CVE-2026-31477ksmbd: fix memory leaks and NULL deref in smb2_lock()
High 7.5
In plain English
A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 42% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix memory leaks and NULL deref in smb2_lock() smb2_lock() has three error handling issues after list_del() detaches smb_lock from lock_list at no_check_cl: 1) If vfs_lock_file() returns an unexpected error in the non-UNLOCK path, goto out leaks smb_lock and its flock because the out: handler only iterates lock_list and rollback_list, neither of which contains the detached smb_lock. 2) If vfs_lock_file() returns -ENOENT in the UNLOCK path, goto out leaks smb_lock and flock for the same reason. The error code returned to the dispatcher is also stale. 3) In the rollback path, smb_flock_init() can return NULL on allocation failure. The result is dereferenced unconditionally, causing a kernel NULL pointer dereference. Add a NULL check to prevent the crash and clean up the bookkeeping; the VFS lock itself cannot be rolled back without the allocation and will be released at file or connection teardown. Fix cases 1 and 2 by hoisting the locks_free_lock()/kfree() to before the if(!rc) check in the UNLOCK branch so all exit paths share one free site, and by freeing smb_lock and flock before goto out in the non-UNLOCK branch. Propagate the correct error code in both cases. Fix case 3 by wrapping the VFS unlock in an if(rlock) guard and adding a NULL check for locks_free_lock(rlock) in the shared cleanup. Found via call-graph analysis using sqry.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 6.1.170-1 | DEBIAN-CVE-2026-31477 |
| Debian:13 | linux | 6.12.85-1 | DEBIAN-CVE-2026-31477 |
| Debian:14 | linux | 6.19.11-1 | DEBIAN-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux | 6.8.0-136.136 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-aws | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1061.64 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-aws | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-aws-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-aws-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 6.8.0-1061.64~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1063.71 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-azure | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 6.8.0-1063.71~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-fde | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-fde | 6.8.0-1062.69 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-azure-fde | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-fde-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.8 | 6.8.0-1062.69~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-nvidia | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-azure-nvidia-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gcp | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1064.72 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-gcp | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gcp-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gcp-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 6.8.0-1064.72~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gke | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1059.67 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-gkeop | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-gkeop | 6.8.0-1046.50 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-hwe-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-hwe-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 6.8.0-136.136~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-ibm | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1061.62 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | 6.8.0-1061.62~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-intel-iotg | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-kvm | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-lowlatency | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-136.136.2 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 6.8.0-136.136.2~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-nvidia | 6.8.0-1059.62 | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-nvidia-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-nvidia-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 6.8.0-1059.62~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 6.8.0-1059.62.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-nvidia-tegra | 6.8.0-1030.31 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oem-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oem-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oracle | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1058.61 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-oracle | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oracle-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-oracle-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 6.8.0-1058.61~22.04.1 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-raspi | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1061.65 | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-raspi | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-realtime | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:25.10 | linux-riscv | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-riscv-6.14 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-riscv-6.17 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 6.8.0-136.136~22.04.3 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-vmware | 6.8.0-1008.8 | UBUNTU-CVE-2026-31477 |
| Ubuntu:24.04:LTS | linux-xilinx | 6.8.0-1033.34 | UBUNTU-CVE-2026-31477 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | no fix listed | UBUNTU-CVE-2026-31477 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before cdac6f7e7e428dc70e3b5898ac6999a72ed13993e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before c9b95ef6f5039f19e46c3a521a4fe1752d91dfe9e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before 91aeaa7256006d79a37298f5a1df23325db91599e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before 3cdacd11b41569ce75b3162142240f2355e04900e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before aab42f0795620cf0d3955a520f571f697d0f9a2ae2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 – before 309b44ed684496ed3f9c5715d10b899338623512 |
| Linux | Linux | 5.15 |
References
- https://git.kernel.org/stable/c/cdac6f7e7e428dc70e3b5898ac6999a72ed13993
- https://git.kernel.org/stable/c/c9b95ef6f5039f19e46c3a521a4fe1752d91dfe9
- https://git.kernel.org/stable/c/91aeaa7256006d79a37298f5a1df23325db91599
- https://git.kernel.org/stable/c/3cdacd11b41569ce75b3162142240f2355e04900
- https://git.kernel.org/stable/c/aab42f0795620cf0d3955a520f571f697d0f9a2a
- https://git.kernel.org/stable/c/309b44ed684496ed3f9c5715d10b899338623512