Date: Mon, 26 Mar 2001 15:54:18 +0200 (CEST) From: voland@lflat.org To: FreeBSD-gnats-submit@freebsd.org Subject: bin/26093: pam_unix rejects authenticating accounts with empty passwords Message-ID: <20010326135418.0E2307CD0@lflat.org>
next in thread | raw e-mail | index | archive | help
>Number: 26093 >Category: bin >Synopsis: pam_unix rejects authenticating accounts with empty passwords >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Mar 26 06:00:02 PST 2001 >Closed-Date: >Last-Modified: >Originator: Vadim Belman >Release: FreeBSD 4.3-BETA i386 >Organization: Mobilix A/S >Environment: System: FreeBSD lflat.org 4.3-BETA FreeBSD 4.3-BETA #5: Thu Mar 15 09:21:59 CET 2001 root@lflat.org:/opt/obj/opt/src/sys/LFLAT i386 >Description: pam_unix rejects authenticating accounts where password field is empty. This happens because the password it gets from a client gets crypt'ed irrespectively of whether the password field obtained from the master.passwd is empty or not. >How-To-Repeat: Create an account with empty password field in the master.passwd file and try ssh'ing to the host if sshd uses PAM authentication. >Fix: The following patch fixes the problem: --- pam_unix.c.orig Mon Mar 26 15:43:26 2001 +++ pam_unix.c Mon Mar 26 15:23:41 2001 @@ -69,8 +69,13 @@ return retval; if ((pwd = getpwnam(user)) != NULL) { encrypted = crypt(password, pwd->pw_passwd); - if (password[0] == '\0' && pwd->pw_passwd[0] != '\0') + if (password[0] == '\0') { + if (pwd->pw_passwd[0] != '\0') { encrypted = ":"; + } else { + encrypted = ""; + } + } retval = strcmp(encrypted, pwd->pw_passwd) == 0 ? PAM_SUCCESS : PAM_AUTH_ERR; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010326135418.0E2307CD0>