diff options
author | 2023-05-03 08:43:30 +0900 | |
---|---|---|
committer | 2023-05-03 23:03:01 -0500 | |
commit | b096d97f47326b1e2dbdef1c91fab69ffda54d17 (patch) | |
tree | 891546a8e79c2faf6821b0072e1fc1bb9504ee89 | |
parent | ksmbd: destroy expired sessions (diff) | |
download | wireguard-linux-b096d97f47326b1e2dbdef1c91fab69ffda54d17.tar.xz wireguard-linux-b096d97f47326b1e2dbdef1c91fab69ffda54d17.zip |
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>
Diffstat (limited to '')
-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); + } } } |