Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-31718

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
01/05/2026
Última modificación:
17/05/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ksmbd: fix use-after-free in __ksmbd_close_fd() via durable scavenger<br /> <br /> When a durable file handle survives session disconnect (TCP close without<br /> SMB2_LOGOFF), session_fd_check() sets fp-&gt;conn = NULL to preserve the<br /> handle for later reconnection. However, it did not clean up the byte-range<br /> locks on fp-&gt;lock_list.<br /> <br /> Later, when the durable scavenger thread times out and calls<br /> __ksmbd_close_fd(NULL, fp), the lock cleanup loop did:<br /> <br /> spin_lock(&amp;fp-&gt;conn-&gt;llist_lock);<br /> <br /> This caused a slab use-after-free because fp-&gt;conn was NULL and the<br /> original connection object had already been freed by<br /> ksmbd_tcp_disconnect().<br /> <br /> The root cause is asymmetric cleanup: lock entries (smb_lock-&gt;clist) were<br /> left dangling on the freed conn-&gt;lock_list while fp-&gt;conn was nulled out.<br /> <br /> To fix this issue properly, we need to handle the lifetime of<br /> smb_lock-&gt;clist across three paths:<br /> - Safely skip clist deletion when list is empty and fp-&gt;conn is NULL.<br /> - Remove the lock from the old connection&amp;#39;s lock_list in<br /> session_fd_check()<br /> - Re-add the lock to the new connection&amp;#39;s lock_list in<br /> ksmbd_reopen_durable_fd().

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.32 (incluyendo) 6.7 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.9 (incluyendo) 6.12.84 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.18.25 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (incluyendo) 7.0.2 (excluyendo)
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*