CVE-2025-40039CWE-362

CVE-2025-40039

High · published October 28, 2025

CVSS v3.1
8.8
EPSS
0%
Percentile
22.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ksmbd: Fix race condition in RPC handle list access

The 'sess->rpc_handle_list' XArray manages RPC handles within a ksmbd

session. Access to this list is intended to be protected by

'sess->rpc_lock' (an rw_semaphore). However, the locking implementation was

flawed, leading to potential race conditions.

In ksmbd_session_rpc_open(), the code incorrectly acquired only a read lock

before calling xa_store() and xa_erase(). Since these operations modify

the XArray structure, a write lock is required to ensure exclusive access

and prevent data corruption from concurrent modifications.

Furthermore, ksmbd_session_rpc_method() accessed the list using xa_load()

without holding any lock at all. This could lead to reading inconsistent

data or a potential use-after-free if an entry is concurrently removed and

the pointer is dereferenced.

Fix these issues by:

1. Using down_write() and up_write() in ksmbd_session_rpc_open()

to ensure exclusive access during XArray modification, and ensuring

the lock is correctly released on error paths.

2. Adding down_read() and up_read() in ksmbd_session_rpc_method()

to safely protect the lookup.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00312 · 22.9th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2025-10-28T16:15Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel≥ 5.15.145, < 5.165.16
linux/linux_kernel≥ 6.1.71, < 6.26.2
linux/linux_kernel≥ 6.3, < 6.6.1236.6.123
linux/linux_kernel≥ 6.7, < 6.12.536.12.53
linux/linux_kernel≥ 6.13, < 6.17.36.17.3
References (5)
EPSS history
Timeline
  • 28 OCT 11:48Z
    ksmbd: Fix race condition in RPC handle list access
    cvelistv5