CVE-2026-53383

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
19/07/2026
Last modified:
29/07/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ksmbd: reject non-VALID session in compound request branch<br /> <br /> smb2_check_user_session() takes a shortcut for any operation that is not<br /> the first in a COMPOUND request: it reuses work-&gt;sess (the session bound by<br /> the first operation) and validates only the SessionId, then returns<br /> "valid". It never re-checks work-&gt;sess-&gt;state == SMB2_SESSION_VALID, and a<br /> SessionId of 0xFFFFFFFFFFFFFFFF (ULLONG_MAX, the MS-SMB2 related-operation<br /> value) skips even the id comparison. The standalone path<br /> (ksmbd_session_lookup_all() plus the SESSION_SETUP state machine) does<br /> enforce the VALID state; the compound branch bypasses all of it.<br /> <br /> A SESSION_SETUP carrying only an NTLM Type-1 (NtLmNegotiate) blob publishes<br /> a fresh SMB2_SESSION_IN_PROGRESS session whose sess-&gt;user is still NULL<br /> (-&gt;user is assigned later, by ntlm_authenticate()). Used as operation 1 of<br /> a COMPOUND with operation 2 = TREE_CONNECT (related, SessionId=ULLONG_MAX,<br /> \\host\IPC$), the tree-connect then runs on that IN_PROGRESS session and<br /> reaches ksmbd_ipc_tree_connect_request(), which dereferences<br /> user_name(sess-&gt;user) with sess-&gt;user == NULL (transport_ipc.c:687/701/704)<br /> -&gt; remote NULL-pointer dereference and a kernel Oops that wedges the ksmbd<br /> worker for all clients.<br /> <br /> Reject any non-first compound operation that lands on a session which is<br /> not SMB2_SESSION_VALID, mirroring the validity the standalone lookup path<br /> enforces. SESSION_SETUP itself legitimately runs on an IN_PROGRESS session,<br /> but it is never carried as a non-first compound operation, so multi-leg<br /> authentication is unaffected by this check.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.121 (including) 5.15.211 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.36 (including) 6.1.177 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.3.10 (including) 6.4 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.4.1 (including) 6.6.144 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.95 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.37 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 7.0.14 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 7.1 (including) 7.1.2 (excluding)
cpe:2.3:o:linux:linux_kernel:6.4:-:*:*:*:*:*:*