Using SSSD, PAM error when exiting su session
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sssd (Ubuntu) |
Fix Released
|
High
|
Timo Aaltonen | ||
Precise |
Fix Released
|
High
|
Timo Aaltonen |
Bug Description
[Impact]
PAM returns an error when exiting from an su session. Fixed upstream by moving SELinux processing to the account stack.
[Test case]
Install sssd, 'su - $localuser; exit; echo $?'
[Regression potential]
small, included upstream for months, backported for the 1.8.5 release.
--
Ubuntu release: 12.04 LTS
Package release: sssd 1.8.2-0ubuntu1 (amd64)
There is a problem using su to switch to local accounts over sssd (in this case with an ldap backend). The su session or command will work, but will produce an error status on exit (or completion).
The local accounts are present in the sssd.conf "filter_users" directive so that they are supposed to be ignored at the NSS level.
What is expected to happen:
# su - localaccount
localaccount@
logout
# echo $?
0
What happens:
# su - localaccount
localaccount@
logout
su: User not known to the underlying authentication module
# echo $?
1
In /var/log/auth.log this error is recorded:
Jun 4 23:00:45 hostname su[23930]: pam_unix(
Jun 4 23:00:45 hostname su[23930]: pam_close_session: User not known to the underlying authentication module
CVE References
Changed in sssd (Ubuntu Precise): | |
milestone: | none → ubuntu-12.04.2 |
importance: | Undecided → High |
Changed in sssd (Ubuntu Precise): | |
status: | Incomplete → Confirmed |
description: | updated |
Changed in sssd (Ubuntu Precise): | |
status: | Confirmed → In Progress |
Changed in sssd (Ubuntu Precise): | |
milestone: | ubuntu-12.04.2 → ubuntu-12.04.3 |
there was a proposed patch from upstream that was thought to fix this, but after testing it the error is still the same.
A way to reproduce it is to copy the example config from /usr/share/ doc/sssd/ examples/ and modify it to enable a 'fake' ldap domain, start sssd and run 'su <localuser>; exit'. I did try to debug it with gdb to see why pam_close_session returns garbage, but it needs further work..