]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: init_smb1_request() isn't being passed zero'ed memory from any codepath.
authorJeremy Allison <jra@samba.org>
Sat, 12 Aug 2023 00:14:38 +0000 (17:14 -0700)
committerJule Anger <janger@samba.org>
Thu, 17 Aug 2023 11:26:11 +0000 (11:26 +0000)
If a client does a SMB1 NEGPROT followed by SMB1 TCON
then req->session is left uninitialized.

Show this causes a crash by deliberately initializing
req->session to an invalid pointer. This will be removed
once the test shows the crash, and the fix is added to
cause init_smb1_request() to zero the memory passed in.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15432

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
(Back-ported from commit f02f74e931f5821c7b7c1be2b8f0fb60c9a69b19)

source3/smbd/smb2_process.c

index ad4386e08a40246e764a2bff249a609473a8ad3d..e003cbaf48108144cbd11b96eb00c57712cc5fd2 100644 (file)
@@ -793,6 +793,7 @@ bool init_smb1_request(struct smb_request *req,
        req->smb2req = NULL;
        req->chain = NULL;
        req->posix_pathnames = lp_posix_pathnames();
+       req->session = (void *)0xDEADBEEF;
        smb_init_perfcount_data(&req->pcd);
 
        /* Ensure we have at least wct words and 2 bytes of bcc. */