id segfaults when looking up user information

Bug #1090554 reported by Stephan Fabel
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libnss-ldap (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

When using libpam-ldap and nscd, the following occurs:

$ id sfabel
*** glibc detected *** id: double free or corruption (top): 0x000000000099b0f0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7f68cca85b96]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(+0x38769)[0x7f68cbef6769]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(+0x3570e)[0x7f68cbef370e]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(ldap_pvt_tls_init_def_ctx+0x1d)[0x7f68cbef38ed]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(+0x35965)[0x7f68cbef3965]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(+0x35a6d)[0x7f68cbef3a6d]
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2(ldap_int_tls_start+0x5d)[0x7f68cbef449d]
/lib/x86_64-linux-gnu/libnss_ldap.so.2(+0x4124)[0x7f68cc111124]
/lib/x86_64-linux-gnu/libnss_ldap.so.2(+0x4e81)[0x7f68cc111e81]
/lib/x86_64-linux-gnu/libnss_ldap.so.2(+0x6192)[0x7f68cc113192]
/lib/x86_64-linux-gnu/libnss_ldap.so.2(+0x7819)[0x7f68cc114819]
/lib/x86_64-linux-gnu/libnss_ldap.so.2(_nss_ldap_getpwnam_r+0x47)[0x7f68cc114db7]
/lib/x86_64-linux-gnu/libc.so.6(getpwnam_r+0xcd)[0x7f68ccac59ad]
/lib/x86_64-linux-gnu/libc.so.6(getpwnam+0x74)[0x7f68ccac5374]
id[0x40199a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f68cca2876d]
id[0x401eb1]
======= Memory map: ========
00400000-00407000 r-xp 00000000 fc:00 154013 /usr/bin/id
00606000-00607000 r--p 00006000 fc:00 154013 /usr/bin/id
00607000-00608000 rw-p 00007000 fc:00 154013 /usr/bin/id
00972000-009b4000 rw-p 00000000 00:00 0 [heap]
7f68c7e70000-7f68c7e85000 r-xp 00000000 fc:00 131548 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f68c7e85000-7f68c8084000 ---p 00015000 fc:00 131548 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f68c8084000-7f68c8085000 r--p 00014000 fc:00 131548 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f68c8085000-7f68c8086000 rw-p 00015000 fc:00 131548 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f68c8086000-7f68c808d000 r-xp 00000000 fc:00 131744 /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f68c808d000-7f68c828c000 ---p 00007000 fc:00 131744 /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f68c828c000-7f68c828d000 r--p 00006000 fc:00 131744 /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f68c828d000-7f68c828e000 rw-p 00007000 fc:00 131744 /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f68c828e000-7f68c8297000 r-xp 00000000 fc:00 131736 /lib/x86_64-linux-gnu/libcrypt-2.15.so
7f68c8297000-7f68c8497000 ---p 00009000 fc:00 131736 /lib/x86_64-linux-gnu/libcrypt-2.15.so
7f68c8497000-7f68c8498000 r--p 00009000 fc:00 131736 /lib/x86_64-linux-gnu/libcrypt-2.15.so
7f68c8498000-7f68c8499000 rw-p 0000a000 fc:00 131736 /lib/x86_64-linux-gnu/libcrypt-2.15.so
7f68c8499000-7f68c84c7000 rw-p 00000000 00:00 0
7f68c84c7000-7f68c8565000 r-xp 00000000 fc:00 137002 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7f68c8565000-7f68c8765000 ---p 0009e000 fc:00 137002 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7f68c8765000-7f68c8767000 r--p 0009e000 fc:00 137002 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7f68c8767000-7f68c8769000 rw-p 000a0000 fc:00 137002 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7f68c8769000-7f68c876a000 rw-p 00000000 00:00 0
7f68c876a000-7f68c87af000 r-xp 00000000 fc:00 150487 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7f68c87af000-7f68c89af000 ---p 00045000 fc:00 150487 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7f68c89af000-7f68c89b1000 r--p 00045000 fc:00 150487 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7f68c89b1000-7f68c89b3000 rw-p 00047000 fc:00 150487 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7f68c89b3000-7f68c89b4000 rw-p 00000000 00:00 0
7f68c89b4000-7f68c89c2000 r-xp 00000000 fc:00 150481 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7f68c89c2000-7f68c8bc1000 ---p 0000e000 fc:00 150481 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7f68c8bc1000-7f68c8bc2000 r--p 0000d000 fc:00 150481 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7f68c8bc2000-7f68c8bc3000 rw-p 0000e000 fc:00 150481 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7f68c8bc3000-7f68c8beb000 r-xp 00000000 fc:00 150484 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7f68c8beb000-7f68c8dea000 ---p 00028000 fc:00 150484 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7f68c8dea000-7f68c8deb000 r--p 00027000 fc:00 150484 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7f68c8deb000-7f68c8dec000 rw-p 00028000 fc:00 150484 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7f68c8dec000-7f68c8def000 r-xp 00000000 fc:00 150466 /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7f68c8def000-7f68c8fee000 ---p 00003000 fc:00 150466 /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7f68c8fee000-7f68c8fef000 r--p 00002000 fc:00 150466 /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7f68c8fef000-7f68c8ff0000 rw-p 00003000 fc:00 150466 /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7f68c8ff0000-7f68c8ff3000 r-xp 00000000 fc:00 150450 /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7f68c8ff3000-7f68c91f2000 ---p 00003000 fc:00 150450 /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7f68c91f2000-7f68c91f3000 r--p 00002000 fc:00 150450 /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7f68c91f3000-7f68c91f4000 rw-p 00003000 fc:00 150450 /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7f68c91f4000-7f68c9205000 r-xp 00000000 fc:00 150454 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
7f68c9205000-7f68c9404000 ---p 00011000 fc:00 150454 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
7f68c9404000-7f68c9405000 r--p 00010000 fc:00 150454 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
7f68c9405000-7f68c9406000 rw-p 00011000 fc:00 150454 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
7f68c9406000-7f68c941c000 r-xp 00000000 fc:00 135677 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f68c941c000-7f68c961b000 ---p 00016000 fc:00 135677 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f68c961b000-7f68c961c000 r--p 00015000 fc:00 135677 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f68c961c000-7f68c961d000 rw-p 00016000 fc:00 135677 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f68c961d000-7f68c962d000 r-xp 00000000 fc:00 150456 /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12
7f68c962d000-7f68c982c000 ---p 00010000 fc:00 150456 /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12

Aborted (core dumped)

This is on Ubuntu 12.04.1.
libnss-ldap 264-2.2ubuntu2
nscd 2.15-0ubuntu010.3

When I was using libnss-ldapd with nslcd, I was getting the following error (don't know if this is related, but seems like this is the same lib that's failing?).

# service nslcd restart
 * Restarting LDAP connection daemon nslcd nslcd: Warning: /lib/x86_64-linux-gnu/libnss_ldap.so.2: undefined symbol: _nss_ldap_enablelookups (probably older NSS module loaded)
                                                                                                                                                [ OK ]

Revision history for this message
Arthur de Jong (adejong) wrote :

The described bug is in the libnss-ldap package which is not related to nss-pam-ldapd.

You do not need nslcd if you are using libnss-ldap and libpam-ldap. It is not used at all. If you want to use nslcd, you should be using libnss-ldapd and libpam-ldapd instead.

The warning message with the undefined symbol is because on start-up nslcd tries to load the libnss-ldapd NSS module to try to disable it within nslcd to avoid lookup loops. This message indicates that the mechanism to disable these lookups was not found. It probably means that libnss-ldap is installed instead of libnss-ldapd (or a version older than 0.7.7).

affects: nss-pam-ldapd (Ubuntu) → libnss-ldap (Ubuntu)
Changed in libnss-ldap (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for libnss-ldap (Ubuntu) because there has been no activity for 60 days.]

Changed in libnss-ldap (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.