]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
ksmbd: avoid out of bounds access in decode_preauth_ctxt()
authorDavid Disseldorp <ddiss@suse.de>
Thu, 13 Apr 2023 14:49:57 +0000 (23:49 +0900)
committerSteve French <stfrench@microsoft.com>
Thu, 13 Apr 2023 19:17:32 +0000 (14:17 -0500)
commite7067a446264a7514fa1cfaa4052cdb6803bc6a2
treeb4600382146430cdb6cc340d2244f4f8541e604e
parent09a9639e56c01c7a00d6c0ca63f4c7c41abe075d
ksmbd: avoid out of bounds access in decode_preauth_ctxt()

Confirm that the accessed pneg_ctxt->HashAlgorithms address sits within
the SMB request boundary; deassemble_neg_contexts() only checks that the
eight byte smb2_neg_context header + (client controlled) DataLength are
within the packet boundary, which is insufficient.

Checking for sizeof(struct smb2_preauth_neg_context) is overkill given
that the type currently assumes SMB311_SALT_SIZE bytes of trailing Salt.

Signed-off-by: David Disseldorp <ddiss@suse.de>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/smb2pdu.c