[Secure-testing-team] libpam-ldap DSA-785 fixed CAN-2005-2069 w/o
mentioning it
Moritz Muehlenhoff
jmm at inutil.org
Wed Sep 14 22:34:14 UTC 2005
Dear Joey/security team,
when preparing a patch for #316972 in sid I noticed that the sid
version (which is identical to the Sarge version from DSA-785)
already contained the required patch. But it isn't mentioned
neither in the changelog nor in the DSA-785. Can you please fix
it in the web version of the DSA?
I've attached an interdiff between 178-1 and 178-1sarge1 for easy
review. The first two chunks relate to CAN-2005-2069.
Cheers,
Moritz
-------------- next part --------------
diff -u libpam-ldap-178/pam_ldap.c libpam-ldap-178/pam_ldap.c
--- libpam-ldap-178/pam_ldap.c
+++ libpam-ldap-178/pam_ldap.c
@@ -1587,6 +1587,7 @@
pam_ldap_session_t *session = global_session;
#endif
char *who, *cred;
+ int rc;
if (session->info != NULL && session->info->bound_as_user == 1)
{
@@ -1607,6 +1608,17 @@
}
}
+ if (session->conf->ssl_on == SSL_START_TLS)
+ {
+ rc = ldap_start_tls_s (session->ld, NULL, NULL);
+ if (rc != LDAP_SUCCESS)
+ {
+ syslog (LOG_ERR, "pam_ldap: ldap_starttls_s: %s",
+ ldap_err2string (rc));
+ return PAM_SERVICE_ERR;
+ }
+ }
+
return ldap_simple_bind_s (ld, who, cred);
}
#else
@@ -2042,8 +2054,24 @@
}
else if (!strcmp ((*ctlp)->ldctl_oid, LDAP_CONTROL_PASSWORDPOLICYRESPONSE))
{
- rc = _get_password_policy_response_value (&(*ctlp)->ldctl_value,
- session);
+ int rc2;
+
+ rc2 = _get_password_policy_response_value (&(*ctlp)->ldctl_value,
+ session);
+
+ if (rc2 != LDAP_SUCCESS ||
+ session->info->policy_error != POLICY_ERROR_SUCCESS)
+ {
+ /*
+ * If decoding policy control failed, return the error.
+ *
+ * If decoding policy control succeeded, and there is a
+ * policy error, return LDAP_SUCCESS so that the error
+ * will be handled in the account management step (see
+ * above).
+ */
+ rc = rc2;
+ }
}
}
ldap_controls_free (controls);
diff -u libpam-ldap-178/debian/changelog libpam-ldap-178/debian/changelog
--- libpam-ldap-178/debian/changelog
+++ libpam-ldap-178/debian/changelog
@@ -1,3 +1,11 @@
+libpam-ldap (178-1sarge1) stable-security; urgency=high
+
+ * Non-maintainer upload by the Security Team
+ * Applied upstream patch to fix authentication bypass [pam_ldap.c,
+ VU#778916, CAN-2005-2641]
+
+ -- Martin Schulze <joey at infodrom.org> Sat, 20 Aug 2005 13:39:14 +0200
+
libpam-ldap (178-1) unstable; urgency=low
* New upstream release
More information about the Secure-testing-team
mailing list