diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2023-05-03 08:43:30 +0900 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2023-05-03 23:03:01 -0500 |
commit | b096d97f47326b1e2dbdef1c91fab69ffda54d17 (patch) | |
tree | 891546a8e79c2faf6821b0072e1fc1bb9504ee89 | |
parent | ea174a91893956450510945a0c5d1a10b5323656 (diff) |
ksmbd: block asynchronous requests when making a delay on session setup
ksmbd make a delay of 5 seconds on session setup to avoid dictionary
attacks. But the 5 seconds delay can be bypassed by using asynchronous
requests. This patch block all requests on current connection when
making a delay on sesstion setup failure.
Cc: stable@vger.kernel.org
Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-20482
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
-rw-r--r-- | fs/ksmbd/smb2pdu.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index 51cc1dfb9260..234ab5f4104f 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -1840,8 +1840,11 @@ out_err: sess->last_active = jiffies; sess->state = SMB2_SESSION_EXPIRED; - if (try_delay) + if (try_delay) { + ksmbd_conn_set_need_reconnect(conn); ssleep(5); + ksmbd_conn_set_need_negotiate(conn); + } } } |