ksmbd: do not allow the actual frame length to be smaller than the rfc1002 length
authorNamjae Jeon <linkinjeon@kernel.org>
Fri, 10 Feb 2023 15:27:34 +0000 (00:27 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:57 +0000 (09:39 +0100)
commit851c34f19c0a4357058e72b989bc9862632e2c27
tree07f2fcf3681651426a8c19558ede86fb198853a1
parentf9b816c55bea907cd73e5112d8cd0622b37618f8
ksmbd: do not allow the actual frame length to be smaller than the rfc1002 length

commit fb533473d1595fe79ecb528fda1de33552b07178 upstream.

ksmbd allowed the actual frame length to be smaller than the rfc1002
length. If allowed, it is possible to allocates a large amount of memory
that can be limited by credit management and can eventually cause memory
exhaustion problem. This patch do not allow it except SMB2 Negotiate
request which will be validated when message handling proceeds.
Also, Allow a message that padded to 8byte boundary.

Fixes: e2f34481b24d ("cifsd: add server-side procedures for SMB3")
Cc: stable@vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ksmbd/smb2misc.c