CVE-2026-53383

ksmbd: reject non-VALID session in compound request branch

State
Published
Severity
7.5 High
Published
Jul 19, 2026
Updated
Aug 17, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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

ksmbd: reject non-VALID session in compound request branch

smb2_check_user_session() takes a shortcut for any operation that is not the first in a COMPOUND request: it reuses work->sess (the session bound by the first operation) and validates only the SessionId, then returns "valid". It never re-checks work->sess->state == SMB2_SESSION_VALID, and a SessionId of 0xFFFFFFFFFFFFFFFF (ULLONG_MAX, the MS-SMB2 related-operation value) skips even the id comparison. The standalone path (ksmbd_session_lookup_all() plus the SESSION_SETUP state machine) does enforce the VALID state; the compound branch bypasses all of it.

A SESSION_SETUP carrying only an NTLM Type-1 (NtLmNegotiate) blob publishes a fresh SMB2_SESSION_IN_PROGRESS session whose sess->user is still NULL (->user is assigned later, by ntlm_authenticate()). Used as operation 1 of a COMPOUND with operation 2 = TREE_CONNECT (related, SessionId=ULLONG_MAX, \\host\IPC$), the tree-connect then runs on that IN_PROGRESS session and reaches ksmbd_ipc_tree_connect_request(), which dereferences user_name(sess->user) with sess->user == NULL (transport_ipc.c:687/701/704) -> remote NULL-pointer dereference and a kernel Oops that wedges the ksmbd worker for all clients.

Reject any non-first compound operation that lands on a session which is not SMB2_SESSION_VALID, mirroring the validity the standalone lookup path enforces. SESSION_SETUP itself legitimately runs on an IN_PROGRESS session, but it is never carried as a non-first compound operation, so multi-leg authentication is unaffected by this check.

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • eb947403518ea3d93f6d89264bb1f5416bb0c7d0 to before 25ff12b82a376ff5c4583102a63d2456a6b9ebb9Affected
  • 854156d12caa9d36de1cf5f084591c7686cc8a9d to before fc578523a72cb8b329d32070b95898e81613cc3fAffected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before d2bbbb6c55812220fee5d801c275cc267ea3cbebAffected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before 8f0302fb691537d33ec8f668565257ea9d340ffeAffected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before 7cad3ceaf679c55bc9946685dacafce78ce6b51aAffected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before 06e1f05a1dbe8bbd054c0927b17fc0a61cc8bef7Affected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before 5f983b864d3d473ac533b2f4f44a1bbe5dcbccf4Affected
  • 5005bcb4219156f1bf7587b185080ec1da08518e to before 609ca17d869d04ba249e32cdcbf13c0b1c66f43cAffected
  • d1066c1b3663401cd23c0d6e60cdae750ce00c0fAffected
  • 5.15.121 to before 5.15.211Affected
  • 6.1.36 to before 6.1.177Affected
  • 6.3.10 to before 6.4Affected
LinuxLinux
  • 6.4Affected
  • before 6.4Not affected
  • 5.15.211 through 5.15.*Not affected
  • 6.1.177 through 6.1.*Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.37 through 6.18.*Not affected
  • 7.0.14 through 7.0.*Not affected
  • 7.1.2 through 7.1.*Not affected
  • 7.2 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.