Red Hat Bugzilla – Bug 902436
possible segfault when backend callback is removed
Last modified: 2013-02-21 04:43:45 EST
This bug is created as a clone of upstream ticket: https://fedorahosted.org/sssd/ticket/1776 Our API supports removing backend callback, but it doesn't work correctly. It still remains in DLIST which causes segfault during next execution of the callbacks. This currently affects sudo first full refresh, when online callbacks are executed several times before successful connection. How to reproduce: {{{ 1. configure sssd with sudo support in such way it cannot connect to the server - tested with incorrect bindpw in ldap_default_authtok, but unreachable hostname should do the trick 2. run sssd 3. tell sssd to go online - kill -s SIGUSR2 $(pidof sssd_be) - sssd_be crashes when it tries to go online for second time }}}
As I understood it with the help from Jakub, a segfault could happen on repeated *failed* attempts to go online with sudo (and possibly other) backends configured. Such attempts could be triggered by changed network settings, such as occur on connecting to a wired or wireless network or receiving a new DHCP lease. (External) wireless network roaming could trigger this. A real world scenario could be an offline user moving between wireless networks, say in an airport. Or, possibly, a user on a corporate network going through several DHCP renewals while waiting for the directory server to come back online. I'm not sure, what the real impact for end user would be, considering that SSSD is restarted in case of segfaults, but I would expect at least some short lock-ups while SSSD is down. Although I'm quite new to SSSD and don't know it well yet, I'd say this is quite serious and has a good screw-up potential.
Verified as fixed with the following packages: sssd-client-1.9.2-82.el6.x86_64 sssd-1.9.2-82.el6.x86_64 sudo-1.8.6p3-7.el6.x86_64 libsss_idmap-1.9.2-82.el6.x86_64 libsss_sudo-1.9.2-82.el6.x86_64 Relevant sudo suite output: :: [ PASS ] :: offline_repeated_failure_getting_online
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-0508.html