From: Namjae Jeon Date: Mon, 18 Dec 2023 15:33:50 +0000 (+0900) Subject: ksmbd: block asynchronous requests when making a delay on session setup X-Git-Tag: v5.15.145~70 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dff87902d96082e6e271385b14adda8f65fc3e03;p=thirdparty%2Fkernel%2Fstable.git ksmbd: block asynchronous requests when making a delay on session setup [ Upstream commit b096d97f47326b1e2dbdef1c91fab69ffda54d17 ] 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 Signed-off-by: Steve French Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index 3fe827e1584a0..2216ff1d810f4 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -1877,8 +1877,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); + } } }