CVE-2025-40039

ksmbd: Fix race condition in RPC handle list access

State
Published
Severity
8.8 High
Published
Oct 28, 2025
Updated
Aug 5, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a4348710a7267705b75692dc1a000920481d1d92 to before 69674b029002b1d90b655f014bdf64f404efa54dAffected
  • b685757c7b08d5073046fb379be965fd6c06aafc to before 6b615a8fb3af0baf8126cde3d4fee97d57222ffcAffected
  • b685757c7b08d5073046fb379be965fd6c06aafc to before 5cc679ba0f4505936124cd4179ba66bb0a4bd9f3Affected
  • b685757c7b08d5073046fb379be965fd6c06aafc to before 6bd7e0e55dcea2cf0d391bbc21c2eb069b4be3e1Affected
  • b685757c7b08d5073046fb379be965fd6c06aafc to before 305853cce379407090a73b38c5de5ba748893aeeAffected
  • 1f485b54d04a920723984062c912174330a05178Affected
  • 052b41ef2abe274f068e892aee81406f11bd1f3aAffected
  • 5.15.145 to before 5.16Affected
LinuxLinux
  • 6.3Affected
  • before 6.3Not affected
  • 6.6.123 through 6.6.*Not affected
  • 6.12.53 through 6.12.*Not affected
  • 6.17.3 through 6.17.*Not affected
  • 6.18 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.