#1073 SSSD may go info infinite loop during RFC2307bis initgroups
Closed: Fixed Opened by sgallagh.

https://bugzilla.redhat.com/show_bug.cgi?id=749822

Description of problem:
The RFC2307bis initgroups code contains a bug where SSSD may go into infinite
loop when processing certain nested group memberships.
Version-Release number of selected component (if applicable):
sssd-1.5.1-63.el6
Steps to Reproduce:
1. configure a nested group membership structure where a single group is present
in different nesting levels. Please note that a simple cycle is not sufficient.
2. add a user to the groups
3. id <username>
So as an example: Group A has two member groups: Group B and Group C. Group B
also has Group C as a member.
Group A
|
- Group B
| |
| - Group C
|
- Group C
Actual results:
sssd_be spins in a tight loop, consuming 100% CPU
Expected results:
initgroups completes normally

Fields changed

coverity: =>
description: https://bugzilla.redhat.com/show_bug.cgi?id=749822

{{{
Description of problem:
The RFC2307bis initgroups code contains a bug where SSSD may go into infinite
loop when processing certain nested group memberships.

Version-Release number of selected component (if applicable):
sssd-1.5.1-63.el6

Steps to Reproduce:
1. configure a nested group membership structure where a single group is present
in different nesting levels. Please note that a simple cycle is not sufficient.
2. add a user to the groups
3. id

So as an example: Group A has two member groups: Group B and Group C. Group B
also has Group C as a member.

Group A
|
- Group B
| |
| - Group C
|
- Group C

Actual results:
sssd_be spins in a tight loop, consuming 100% CPU

Expected results:
initgroups completes normally
}}}
=> https://bugzilla.redhat.com/show_bug.cgi?id=749822

{{{
Description of problem:
The RFC2307bis initgroups code contains a bug where SSSD may go into infinite
loop when processing certain nested group memberships.

Version-Release number of selected component (if applicable):
sssd-1.5.1-63.el6

Steps to Reproduce:
1. configure a nested group membership structure where a single group is present
in different nesting levels. Please note that a simple cycle is not sufficient.
2. add a user to the groups
3. id

So as an example: Group A has two member groups: Group B and Group C. Group B
also has Group C as a member.

Group A
|
- Group B
| |
| - Group C
|
- Group C

Actual results:
sssd_be spins in a tight loop, consuming 100% CPU

Expected results:
initgroups completes normally
}}}

owner: somebody => jhrozek
patch: => 1
rhbz: =>
tests: => 0
testsupdated: => 0
upgrade: => 0

Fields changed

status: new => assigned

fixed in:

- master: 9aac6b1a195159d5aa0bbbe91fc72ce2c2b021aa
- sssd-1.6: f7e736e233875dd46c3edfe04340b17d78dc1c98
- sssd-1.5: 25e0627808739981c27b96ad761e863c302aa1a2

milestone: NEEDS_TRIAGE => SSSD 1.5.15
resolution: => fixed
status: assigned => closed

Fields changed

rhbz: => [https://bugzilla.redhat.com/show_bug.cgi?id=749822 749822]

Metadata Update from @sgallagh:
- Issue assigned to jhrozek
- Issue set to the milestone: SSSD 1.5.15

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/2115

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata