]> git.hungrycats.org Git - linux/commit
ksmbd: destroy expired sessions
authorNamjae Jeon <linkinjeon@kernel.org>
Tue, 2 May 2023 23:42:21 +0000 (08:42 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 11:58:55 +0000 (13:58 +0200)
commit750a2d772e9d9ff377fd32e3b6797bf2cd847a7a
tree7de6bab36d10442ff3fa7f7ff9b1154f8a2492f8
parentff9d4b75d079234ac46f9da88a292ee025a3dac7
ksmbd: destroy expired sessions

[ Upstream commit ea174a91893956450510945a0c5d1a10b5323656 ]

client can indefinitely send smb2 session setup requests with
the SessionId set to 0, thus indefinitely spawning new sessions,
and causing indefinite memory usage. This patch limit to the number
of sessions using expired timeout and session state.

Cc: stable@vger.kernel.org
Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-20478
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ksmbd/mgmt/user_session.c
fs/ksmbd/mgmt/user_session.h
fs/ksmbd/smb2pdu.c
fs/ksmbd/smb2pdu.h