Bug 801533

Summary: sssd_be crashes when resolving non-trivial nested group structure
Product: Red Hat Enterprise Linux 6 Reporter: Jakub Hrozek <jhrozek>
Component: sssdAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: apeetham, grajaiya, jgalipea, prc
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.8.0-12.el6 Doc Type: Bug Fix
Doc Text:
Cause: When SSSD was resolving a complex group structure during an initgroups operation, it used a wrong counter and could have accessed random memory Consequence: The random memory access crashed the sssd_be process Fix: SSSD now uses the correct group counter Result: SSSD processes nested group structures correctly
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 11:55:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jakub Hrozek 2012-03-08 18:35:20 UTC
Description of problem:
When SSSD is resolving memberships in a slightly complex group structure, the back end can crash. This is due to bad counter of parent groups in a nested group level.

Version-Release number of selected component (if applicable):
1.8.0

How reproducible:
always

Steps to Reproduce:
1. Configure a nested group structure that looks like this:

user --- A    -- BA --- BAA
  \          /     \
   \        /       \
     --- B -         -- BAB
            \
             \
              -- BB --- BBA
                   \
                    \
                     -- BBB

2. id user
  
Actual results:
segfault

Expected results:
id runs correctly

Additional info:
Reported by Bojan Smojver in https://bugzilla.redhat.com/show_bug.cgi?id=743133#c28

Comment 1 Jakub Hrozek 2012-03-08 18:38:02 UTC
Upstream ticket:
https://fedorahosted.org/sssd/ticket/1243

Comment 5 Jakub Hrozek 2012-04-03 18:44:36 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: When SSSD was resolving a complex group structure during an initgroups operation, it used a wrong counter and could have accessed random memory

Consequence: The random memory access crashed the sssd_be process

Fix: SSSD now uses the correct group counter

Result: SSSD processes nested group structures correctly

Comment 6 Amith 2012-04-11 11:27:39 UTC
Verified on sssd-1.8.0-22.el6.x86_64.

The output for the associated beaker automation script is given below:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: Verify BZ release ticket #364: sssd_be crashes when resolving non-trivial nested group structure
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Running '/usr/bin/ldapadd -x -D cn=Manager,dc=example,dc=com -w Secret123 -H ldap://hubcap.lab.eng.pnq.redhat.com -f /tmp/tempuser.ldif > /dev/null 2>&1'
:: [   PASS   ] :: Running '/usr/bin/ldapadd -x -D cn=Manager,dc=example,dc=com -w Secret123 -H ldap://hubcap.lab.eng.pnq.redhat.com -f /tmp/tempgroup.ldif > /dev/null 2>&1'
:: [   PASS   ] :: Running '/usr/bin/id tempuser &'
:: [   PASS   ] :: Running '/bin/sleep 30s'
:: [   PASS   ] :: File '/tmp/templog' should not contain 'segfault at'
:: [   PASS   ] :: Running '/usr/bin/ldapmodify -x -D cn=Manager,dc=example,dc=com -w Secret123 -H ldap://hubcap.lab.eng.pnq.redhat.com -f /tmp/deluser.ldif > /dev/null 2>&1'
:: [   PASS   ] :: Running '/usr/bin/ldapmodify -x -D cn=Manager,dc=example,dc=com -w Secret123 -H ldap://hubcap.lab.eng.pnq.redhat.com -f /tmp/delgroup.ldif > /dev/null 2>&1'
:: [   LOG    ] :: Duration: 1m 22s
:: [   LOG    ] :: Assertions: 16 good, 0 bad
:: [   PASS   ] :: RESULT: Verify BZ release ticket #364: sssd_be crashes when resolving non-trivial nested group structure

Comment 8 errata-xmlrpc 2012-06-20 11:55:51 UTC
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/RHBA-2012-0747.html