Patch "fs/cifs: correctly to anonymous authentication for the NTLM(v1) authentication" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
fs/cifs: correctly to anonymous authentication for the NTLM(v1) authentication
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
fs-cifs-correctly-to-anonymous-authentication-for-the-ntlm-v1-authentication.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
777f69b8d26bf35ade4a76b08f203c11e048365dMon Sep 17 00:00:00 2001
From: Stefan Metzmacher <[email protected]>
Date: Tue, 3 May 2016 10:52:30 +0200
Subject: fs/cifs: correctly to anonymous authentication for the NTLM(v1) authentication
From: Stefan Metzmacher <[email protected]>
commit 777f69b8d26bf35ade4a76b08f203c11e048365d upstream.
Only server which map unknown users to guest will allow access using a non-null NTChallengeResponse.
For Samba it's the "map to guest = bad user" option.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11913
--- fs/cifs/sess.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-)
fs/cifs/sess.c +23 -18
@@ -781,26 +781,31 @@ sess_auth_ntlm(struct sess_data *sess_da capabilities =cifs_ssetup_hdr (ses, pSMB); pSMB->req_no_secext.Capabilities =cpu_to_le32 (capabilities); - pSMB->req_no_secext.CaseInsensitivePasswordLength = -cpu_to_le16 (CIFS_AUTH_RESP_SIZE ); - pSMB->req_no_secext.CaseSensitivePasswordLength = -cpu_to_le16 (CIFS_AUTH_RESP_SIZE ); +if (ses->user_name !=NULL ) { + pSMB->req_no_secext.CaseInsensitivePasswordLength = +cpu_to_le16 (CIFS_AUTH_RESP_SIZE ); + pSMB->req_no_secext.CaseSensitivePasswordLength = +cpu_to_le16 (CIFS_AUTH_RESP_SIZE ); -/* calculate ntlm response and session key */ - rc =setup_ntlm_response (ses, sess_data->nls_cp); -if (rc) { -cifs_dbg (VFS ,"Error %d during NTLM authentication\n" , - rc); - goto out; - } +/* calculate ntlm response and session key */ + rc =setup_ntlm_response (ses, sess_data->nls_cp); +if (rc) { +cifs_dbg (VFS ,"Error %d during NTLM authentication\n" , + rc); + goto out; + } -/* copy ntlm response */ -memcpy (bcc_ptr, ses->auth_key.response +CIFS_SESS_KEY_SIZE , -CIFS_AUTH_RESP_SIZE ); - bcc_ptr +=CIFS_AUTH_RESP_SIZE ; -memcpy (bcc_ptr, ses->auth_key.response +CIFS_SESS_KEY_SIZE , -CIFS_AUTH_RESP_SIZE ); - bcc_ptr +=CIFS_AUTH_RESP_SIZE ; +/* copy ntlm response */ +memcpy (bcc_ptr, ses->auth_key.response +CIFS_SESS_KEY_SIZE , +CIFS_AUTH_RESP_SIZE ); + bcc_ptr +=CIFS_AUTH_RESP_SIZE ; +memcpy (bcc_ptr, ses->auth_key.response +CIFS_SESS_KEY_SIZE , +CIFS_AUTH_RESP_SIZE ); + bcc_ptr +=CIFS_AUTH_RESP_SIZE ; + }else { + pSMB->req_no_secext.CaseInsensitivePasswordLength =0 ; + pSMB->req_no_secext.CaseSensitivePasswordLength =0 ; + }if (ses->capabilities &CAP_UNICODE ) {/* unicode strings must be word aligned */
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/fs-cifs-correctly-to-anonymous-authentication-for-the-ntlm-v1-authentication.patch queue-4.4/fs-cifs-correctly-to-anonymous-authentication-for-the-lanman-authentication.patch queue-4.4/fs-cifs-correctly-to-anonymous-authentication-for-the-ntlm-v2-authentication.patch queue-4.4/fs-cifs-correctly-to-anonymous-authentication-via-ntlmssp.patch