Public bug reported:

> Are you uncertain if your issue is really a bug?
Effect is an authentication error. Root case is a "missing feature" (see below) 
and requires updating dependencies, downporting.

> If you are certain this is a bug please include the source package the bug is 
> in.
It's in the interaction between three libraries: openldap, cyrus-sasl, krb5

> 1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> 
> About Ubuntu
Broken in 18.04 and also in 20.10 (I guess it's also broken in anything 
inbetween)

> 2) The version of the package you are using, via 'apt-cache policy
pkgname' or by checking in Software Center

libsasl2-modules-gssapi-mit: 2.1.27+dfsg-2ubuntu1
ldap-utils: 2.4.53+dfsg-1ubuntu1.2
libgssapi-krb5-2: 1.17-10ubuntu0.1

> 3) What you expected to happen
# kinit
$ export LDAPSASL_CBINDING=tls-endpoint
$ ldapwhoami -O minssf=0,maxssf=0 -N -Y GSSAPI -H ldaps://<DC-fqdn>
SASL/GSSAPI authentication started
SASL username: <some-username>
SASL SSF: 0
u:<some-username>

> 4) What happened instead
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Invalid credentials (49)
        additional info: 80090346: LdapErr: DSID-0C090597, comment: 
AcceptSecurityContext error, data 80090346, v4563


---------------


Microsoft ActiveDirectory has "LDAP Channel Binding" and recommends activating 
this as a required feature. See https://access.redhat.com/articles/4661861
Authentication to any AD DC which has mandatory channel binding fails.

Channel binding requires at least an update to cyrus-sasl, which is not
in any release as far as I can see:

https://github.com/cyrusimap/cyrus-
sasl/commit/975edbb69070eba6b035f08776de771a129cfb57


It also needs this commit in openldap:

https://git.openldap.org/openldap/openldap/-/commit/3cd50fa8b32a21040a9892e2a8a7a9dfc7541ce6

Which as far as I can tell is v2.5 (branch OPENLDAP_REL_ENG_2_5).


RH also mentions it needs up-to-date krb5 libraries, but I can't tell what 
minimum version this needs.


I can build all libraries from source, current master (except for krb5 where 
I've used 1.18.3) and can confirm that channel binding works when using those 
libraries.


I'm not sure if Samba is affected, but at least adcli, ldap-utils, and I would 
guess by extension also SSSD and realmd.

** Affects: openldap (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1912256

Title:
  Missing channel binding prevents authentication to ActiveDirectory

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1912256/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to