[SCM] Samba Shared Repository - branch v3-6-stable updated

Karolin Seeger kseeger at samba.org
Mon Feb 23 03:25:52 MST 2015


The branch, v3-6-stable has been updated
       via  f7c3d29 WHATSNEW: Add release notes for Samba 3.6.25.
       via  a470a8a auth: Make sure that creds_out is initialized with NULL.
       via  3504106 s3-netlogon: Make sure we do not deference a NULL pointer.
       via  4661fa5 CVE-2015-0240: s3: netlogon: Ensure we don't call talloc_free on an uninitialized pointer.
      from  6e1ba4c CVE-2014-0178 patch for 3.6

https://git.samba.org/?p=samba.git;a=shortlog;h=v3-6-stable


- Log -----------------------------------------------------------------
commit f7c3d2984be6aaae711ff144e929b5e5dc98a03e
Author: Karolin Seeger <kseeger at samba.org>
Date:   Sun Feb 22 15:11:32 2015 +0100

    WHATSNEW: Add release notes for Samba 3.6.25.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11077
    CVE-2015-0240: talloc free on uninitialized stack pointer in netlogon server
    could lead to security vulnerability.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=10549
    CVE-2014-0178: Malformed FSCTL_SRV_ENUMERATE_SNAPSHOTS response
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>

commit a470a8ae13abca48e5887fac463430cc78bccfea
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Feb 16 10:56:03 2015 +0100

    auth: Make sure that creds_out is initialized with NULL.
    
    This is an additional patch for CVE-2015-0240.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11077#c32
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    Pair-Programmed-With: Andreas Schneider <asn at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 3504106c94153a87c5c8e1c0e49f1fff924b0f4d
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Feb 16 10:59:23 2015 +0100

    s3-netlogon: Make sure we do not deference a NULL pointer.
    
    This is an additional patch for CVE-2015-0240.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11077#c32
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    Pair-Programmed-With: Andreas Schneider <asn at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 4661fa51de4915c96eeb61a74982519076a02c9b
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Jan 28 14:47:31 2015 -0800

    CVE-2015-0240: s3: netlogon: Ensure we don't call talloc_free on an uninitialized pointer.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=11077
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                                | 76 ++++++++++++++++++++++++++++-
 libcli/auth/schannel_state_tdb.c            |  4 ++
 source3/rpc_server/netlogon/srv_netlog_nt.c | 13 ++++-
 3 files changed, 89 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index aa57ee5..795b7c9 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,4 +1,76 @@
                    ==============================
+                   Release Notes for Samba 3.6.25
+                          February 23, 2015
+                   ==============================
+
+
+This is a security release in order to address CVE-2015-0240 (Unexpected
+code execution in smbd).
+
+o  CVE-2015-0240:
+   All versions of Samba from 3.5.0 to 4.2.0rc4 are vulnerable to an
+   unexpected code execution vulnerability in the smbd file server
+   daemon.
+
+   A malicious client could send packets that may set up the stack in
+   such a way that the freeing of memory in a subsequent anonymous
+   netlogon packet could allow execution of arbitrary code. This code
+   would execute with root privileges.
+
+o  CVE-2014-0178:
+   In preparing a response to an authenticated FSCTL_GET_SHADOW_COPY_DATA
+   or FSCTL_SRV_ENUMERATE_SNAPSHOTS client request, affected versions of
+   Samba do not initialize 8 bytes of the 16 byte SRV_SNAPSHOT_ARRAY
+   response field. The uninitialized buffer is sent back to the client.
+
+   A non-default VFS module providing the get_shadow_copy_data_fn() hook
+   must be explicitly enabled for Samba to process the aforementioned
+   client requests. Therefore, only configurations with "shadow_copy" or
+   "shadow_copy2" specified for the "vfs objects" parameter are vulnerable.
+
+
+Changes since 3.6.24:
+---------------------
+
+o   Jeremy Allison <jra at samba.org>
+    * BUG 11077: CVE-2015-0240: talloc free on uninitialized stack pointer
+      in netlogon server could lead to security vulnerability.
+
+
+o   Jiří Šašek <jiri.sasek at oracle.com>
+    * BUG 10549: CVE-2014-0178: Fix malformed FSCTL_SRV_ENUMERATE_SNAPSHOTS
+      response.
+
+
+o   Andreas Schneider <asn at samba.org>
+    * BUG 11077: CVE-2015-0240: s3-netlogon: Make sure we do not deference
+      a NULL pointer./auth: Make sure that creds_out is initialized with NULL.
+
+
+######################################################################
+Reporting bugs & Development Discussion
+#######################################
+
+Please discuss this release on the samba-technical mailing list or by
+joining the #samba-technical IRC channel on irc.freenode.net.
+
+If you do report problems then please try to send high quality
+feedback. If you don't provide vital information to help us track down
+the problem then you will probably be ignored.  All bug reports should
+be filed under the Samba 3.6 product in the project's Bugzilla
+database (https://bugzilla.samba.org/).
+
+
+======================================================================
+== Our Code, Our Bugs, Our Responsibility.
+== The Samba Team
+======================================================================
+
+
+Release notes for older releases follow:
+----------------------------------------
+
+                   ==============================
                    Release Notes for Samba 3.6.24
                            June 23, 2014
                    ==============================
@@ -52,8 +124,8 @@ database (https://bugzilla.samba.org/).
 ======================================================================
 
 
-Release notes for older releases follow:
-----------------------------------------
+----------------------------------------------------------------------
+
 
                    ==============================
                    Release Notes for Samba 3.6.23
diff --git a/libcli/auth/schannel_state_tdb.c b/libcli/auth/schannel_state_tdb.c
index ca35a11..145005c 100644
--- a/libcli/auth/schannel_state_tdb.c
+++ b/libcli/auth/schannel_state_tdb.c
@@ -285,6 +285,10 @@ NTSTATUS schannel_check_creds_state(TALLOC_CTX *mem_ctx,
 	NTSTATUS status;
 	int ret;
 
+	if (creds_out != NULL) {
+		*creds_out = NULL;
+	}
+
 	tmpctx = talloc_named(mem_ctx, 0, "schannel_check_creds_state");
 	if (!tmpctx) {
 		return NT_STATUS_NO_MEMORY;
diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c
index 3b1cdcf..060ca0b 100644
--- a/source3/rpc_server/netlogon/srv_netlog_nt.c
+++ b/source3/rpc_server/netlogon/srv_netlog_nt.c
@@ -1070,6 +1070,10 @@ static NTSTATUS netr_creds_server_step_check(struct pipes_struct *p,
 	NTSTATUS status;
 	bool schannel_global_required = (lp_server_schannel() == true) ? true:false;
 
+	if (creds_out != NULL) {
+		*creds_out = NULL;
+	}
+
 	if (schannel_global_required) {
 		status = schannel_check_required(&p->auth,
 						 computer_name,
@@ -1205,7 +1209,7 @@ NTSTATUS _netr_ServerPasswordSet(struct pipes_struct *p,
 {
 	NTSTATUS status = NT_STATUS_OK;
 	int i;
-	struct netlogon_creds_CredentialState *creds;
+	struct netlogon_creds_CredentialState *creds = NULL;
 
 	DEBUG(5,("_netr_ServerPasswordSet: %d\n", __LINE__));
 
@@ -1218,9 +1222,14 @@ NTSTATUS _netr_ServerPasswordSet(struct pipes_struct *p,
 	unbecome_root();
 
 	if (!NT_STATUS_IS_OK(status)) {
+		const char *computer_name = "<unknown>";
+
+		if (creds != NULL && creds->computer_name != NULL) {
+			computer_name = creds->computer_name;
+		}
 		DEBUG(2,("_netr_ServerPasswordSet: netlogon_creds_server_step failed. Rejecting auth "
 			"request from client %s machine account %s\n",
-			r->in.computer_name, creds->computer_name));
+			r->in.computer_name, computer_name));
 		TALLOC_FREE(creds);
 		return status;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list