CVE-2025-40090

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.18:rc1:*:*:*:*:*:*

History

19 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: ksmbd: corrige el bloqueo recursivo en el acceso a la lista de manejadores RPC Desde el commit 305853cce3792 ('ksmbd: Corrige la condición de carrera en el acceso a la lista de manejadores RPC'), ksmbd_session_rpc_method() intenta bloquear sess->rpc_lock. Esto causa conexiones / tareas colgadas cuando un cliente intenta abrir una tubería con nombre. Usando la herramienta rpcclient de Samba: $ rpcclient //192.168.1.254 -U user%password $ rpcclient $> srvinfo <conexión colgada aquí> Lado del kernel: 'echo 0 > /proc/sys/kernel/hung_task_timeout_secs' deshabilita este mensaje. tarea:kworker/0:0 estado:D pila:0 pid:5021 tgid:5021 ppid:2 flags:0x00200000 Cola de trabajo: ksmbd-io handle_ksmbd_work Traza de llamada: __schedule desde schedule+0x3c/0x58 schedule desde schedule_preempt_disabled+0xc/0x10 schedule_preempt_disabled desde rwsem_down_read_slowpath+0x1b0/0x1d8 rwsem_down_read_slowpath desde down_read+0x28/0x30 down_read desde ksmbd_session_rpc_method+0x18/0x3c ksmbd_session_rpc_method desde ksmbd_rpc_open+0x34/0x68 ksmbd_rpc_open desde ksmbd_session_rpc_open+0x194/0x228 ksmbd_session_rpc_open desde create_smb2_pipe+0x8c/0x2c8 create_smb2_pipe desde smb2_open+0x10c/0x27ac smb2_open desde handle_ksmbd_work+0x238/0x3dc handle_ksmbd_work desde process_scheduled_works+0x160/0x25c process_scheduled_works desde worker_thread+0x16c/0x1e8 worker_thread desde kthread+0xa8/0xb8 kthread desde ret_from_fork+0x14/0x38 Pila de excepción(0x8529ffb0 a 0x8529fff8) La tarea se interbloquea porque el bloqueo ya está retenido: ksmbd_session_rpc_open down_write(&sess->rpc_lock) ksmbd_rpc_open ksmbd_session_rpc_method down_read(&sess->rpc_lock) <-- interbloqueo Ajustar los llamadores de ksmbd_session_rpc_method() para tomar el bloqueo cuando sea necesario.

Information

Published : 2025-10-30 10:15

Updated : 2026-10-19 21:10


NVD link : CVE-2025-40090

Mitre link : CVE-2025-40090

CVE.ORG link : CVE-2025-40090


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-674

Uncontrolled Recursion