diff options
| author | Hyunwoo Kim <imv4bel@gmail.com> | 2026-03-17 08:52:01 +0900 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-03-22 17:15:00 -0500 |
| commit | 9bbb19d21ded7d78645506f20d8c44895e3d0fb9 (patch) | |
| tree | 4f67ff24b83df8b5fee967858cd8826cbc768f8b /include/linux/tc_act/git@git.tavy.me:linux.git | |
| parent | c369299895a591d96745d6492d4888259b004a9e (diff) | |
ksmbd: do not expire session on binding failure
When a multichannel session binding request fails (e.g. wrong password),
the error path unconditionally sets sess->state = SMB2_SESSION_EXPIRED.
However, during binding, sess points to the target session looked up via
ksmbd_session_lookup_slowpath() -- which belongs to another connection's
user. This allows a remote attacker to invalidate any active session by
simply sending a binding request with a wrong password (DoS).
Fix this by skipping session expiration when the failed request was
a binding attempt, since the session does not belong to the current
connection. The reference taken by ksmbd_session_lookup_slowpath() is
still correctly released via ksmbd_user_session_put().
Cc: stable@vger.kernel.org
Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'include/linux/tc_act/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
