BUG: 2.2.3a (and others) - can't disable null session
Borsenkow Andrej
Andrej.Borsenkow at mow.siemens.ru
Thu Apr 18 02:38:01 GMT 2002
Several people reported inability to disable null sessions in SAMBA.
This bug exhibits itself at least in case of security = DOMAIN. What
happens is (reply_sesssetup_and_X, line numbers from 2.2.3a)):
- smbd gets null user name and password(s)
- it immediately sets user name to guest account (886):
/* If no username is sent use the guest account */
if (!*user) {
pstrcpy(user,lp_guestaccount(-1));
guest = True;
}
- then we ask server but ONLY if user is not null - which it is not and
CANNOT be (942):
/*
* Check with orig_user for security=server and
* security=domain.
*/
if (*user && !check_server_security(orig_user, domain, user,
smb_apasswd, smb_apasslen, smb_ntpasswd, smb_ntpasslen) &&
!check_domain_security(orig_user, domain, user, smb_apasswd,
smb_apasslen, smb_ntpasswd, smb_ntpasslen, &ptok) &&
!check_hosts_equiv(user))
- end of story. Now user is logged in as guest (. Any other parameter
(like guest ok - and I have guest ok = no) is happily ignored at this
point.
The only way to disable it currently is to set guest account to
non-existent Unix account that makes it impossible for _authenticated_
users (from password server) to log in without NT <-> Unix mapping.
-andrej
More information about the samba-technical
mailing list