From: Stefan Metzmacher Date: Tue, 29 Aug 2017 13:24:14 +0000 (+0200) Subject: CVE-2017-12150: auth/credentials: cli_credentials_authentication_requested() should... X-Git-Tag: samba-4.5.14~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc24ef0fc4292a365900270d6b9b66c9cfc0609e;p=thirdparty%2Fsamba.git CVE-2017-12150: auth/credentials: cli_credentials_authentication_requested() should check for NTLM_CCACHE/SIGN/SEAL BUG: https://bugzilla.samba.org/show_bug.cgi?id=12997 Signed-off-by: Stefan Metzmacher --- diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index bfa397cc92d..194b5c2d868 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -25,6 +25,7 @@ #include "librpc/gen_ndr/samr.h" /* for struct samrPassword */ #include "auth/credentials/credentials.h" #include "auth/credentials/credentials_internal.h" +#include "auth/gensec/gensec.h" #include "libcli/auth/libcli_auth.h" #include "tevent.h" #include "param/param.h" @@ -347,6 +348,8 @@ _PUBLIC_ bool cli_credentials_set_principal_callback(struct cli_credentials *cre _PUBLIC_ bool cli_credentials_authentication_requested(struct cli_credentials *cred) { + uint32_t gensec_features = 0; + if (cred->bind_dn) { return true; } @@ -374,6 +377,19 @@ _PUBLIC_ bool cli_credentials_authentication_requested(struct cli_credentials *c return true; } + gensec_features = cli_credentials_get_gensec_features(cred); + if (gensec_features & GENSEC_FEATURE_NTLM_CCACHE) { + return true; + } + + if (gensec_features & GENSEC_FEATURE_SIGN) { + return true; + } + + if (gensec_features & GENSEC_FEATURE_SEAL) { + return true; + } + return false; }