Description of problem:
A bug in indexing of GIDs when a groups is skipped causes random data to be returned during initgroups.
When a group is skipped, we must not increment the buffer index.
Verified in version:
# rpm -qi sssd | head
Name : sssd Relocations: (not relocatable)
Version : 1.5.1 Vendor: Red Hat, Inc.
Release : 52.el6 Build Date: Tue 20 Sep 2011 09:11:03 PM IST
Install Date: Mon 26 Sep 2011 05:56:30 PM IST Build Host: x86-010.build.bos.redhat.com
Group : Applications/System Source RPM: sssd-1.5.1-52.el6.src.rpm
Size : 3550647 License: GPLv3+
Signature : (none)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://fedorahosted.org/sssd/
Summary : System Security Services Daemon
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.
Cause: When processing group memberships for a user who is a member of a group lacking POSIX attributes, loop index was incremented even for groups that should be skipped
Consequence: Instead of being skipped, non-POSIX groups were returned with a random GID
Fix: The loop index was only incremented for valid POSIX groups
Result: non-POSIX groups are skipped and correct group membership is returned
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.