CVE-2025-40090 json
ksmbd: fix recursive locking in RPC handle list access
published 2025-10-30 12 mo ago modified 2026-10-19 20 d ago also EUVD-2025-36988
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix recursive locking in RPC handle list access
Since commit 305853cce3794 ("ksmbd: Fix race condition in RPC handle list access"), ksmbd_session_rpc_method() attempts to lock sess->rpc_lock.
This causes hung connections / tasks when a client attempts to open a named pipe. Using Samba's rpcclient tool:
$ rpcclient //192.168.1.254 -U user%password $ rpcclient $> srvinfo <connection hung here>
Kernel side: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/0:0 state:D stack:0 pid:5021 tgid:5021 ppid:2 flags:0x00200000 Workqueue: ksmbd-io handle_ksmbd_work Call trace: __schedule from schedule+0x3c/0x58 schedule from schedule_preempt_disabled+0xc/0x10 schedule_preempt_disabled from rwsem_down_read_slowpath+0x1b0/0x1d8 rwsem_down_read_slowpath from down_read+0x28/0x30 down_read from ksmbd_session_rpc_method+0x18/0x3c ksmbd_session_rpc_method from ksmbd_rpc_open+0x34/0x68 ksmbd_rpc_open from ksmbd_session_rpc_open+0x194/0x228 ksmbd_session_rpc_open from create_smb2_pipe+0x8c/0x2c8 create_smb2_pipe from smb2_open+0x10c/0x27ac smb2_open from handle_ksmbd_work+0x238/0x3dc handle_ksmbd_work from process_scheduled_works+0x160/0x25c process_scheduled_works from worker_thread+0x16c/0x1e8 worker_thread from kthread+0xa8/0xb8 kthread from ret_from_fork+0x14/0x38 Exception stack(0x8529ffb0 to 0x8529fff8)
The task deadlocks because the lock is already held: ksmbd_session_rpc_open down_write(&sess->rpc_lock) ksmbd_rpc_open ksmbd_session_rpc_method down_read(&sess->rpc_lock) <-- deadlock
Adjust ksmbd_session_rpc_method() callers to take the lock when necessary.
Patch / fix
- Linux Linux 6.12.55, 6.17.5
- kernel-source-longterm openSUSE Tumbleweed 6.18.16-1.1
- kernel-source openSUSE Tumbleweed 6.17.7-1.1
opensuse advisories openSUSE-SU-2026:10301-1openSUSE-SU-2025:15702-1
- git.kernel.org/stable/c/5493571f4351f74e11db9943e98a07c56467cf7e commit
- git.kernel.org/stable/c/1891abe832cbf5a11039e088766131d0f1642d02 commit
- git.kernel.org/stable/c/4602b8cee1481dbb896182e5cb1e8cf12910e9e7 commit
- git.kernel.org/stable/c/3412fbd81b46b9cfae013817b61d4bbd27e09e36 commit
- git.kernel.org/stable/c/88f170814fea74911ceab798a43cbd7c5599bed4 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-2025-40090 updated
kernel: ksmbd: fix recursive locking in RPC handle list access
-
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.28% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-674 Uncontrolled Recursion
- Technology feeds
References
-
git.kernel.org
/stable/c/5493571f4351f74e11db9943e98a07c56467cf7e
patch
-
git.kernel.org
/stable/c/1891abe832cbf5a11039e088766131d0f1642d02
patch
-
git.kernel.org
/stable/c/4602b8cee1481dbb896182e5cb1e8cf12910e9e7
patch
-
git.kernel.org
/stable/c/3412fbd81b46b9cfae013817b61d4bbd27e09e36
patch
-
git.kernel.org
/stable/c/88f170814fea74911ceab798a43cbd7c5599bed4
patch
Sources
- CVE List CVE-2025-40090
- NVD CVE-2025-40090
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.