Ubuntu

Gnome Screensaver should handle expired password tokens

Reported by urusha on 2012-03-12
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GNOME Screensaver
New
Medium
gnome-screensaver (Ubuntu)
Medium
Unassigned
Precise
Low
Unassigned

Bug Description

Gnome Screensaver should handle expired password tokens. Currently it does
not. It just unlocks screen, so in case you're using kerberos - your credentials cache stays expired and you need to manually change your password or logout and then login again (lightdm, gdm, etc. do handle expired password tokens).
Actually, there is a mainstream bugreport with patch solving the problem, but it seems noone is interested in solving this issue:
https://bugzilla.gnome.org/show_bug.cgi?id=648875
The patch provided by Brian C. Huffman solves the issue and is compatible with today's GS behavior (it can be emulated using special pam config, see comment 9 there).
Both solutions using this patch (with and without "passwd required pam_permit.so") tested by me with oneiric's gnome-screensaver-3.2.0-ubuntu1 and work as expected.

[Impact]
Gnome-screensaver doesn't handle expired credentials. If user's account password must be changed (e.g. expired), when unlocking screen, gnome-screensaver doesn't suggest to change the password. This behavior rises two problems:
1) security: user can unlock screen and get access even if it's password has expired;
2) usability: if kerberos authentication is used, then credentials cache stays expired, so user can't access kerberized services until password is changed manually.
Since precise LTS is used widely in corporate environments (with krb5 auth), backporting to it would be useful.

[Test Case]
1) Configure gnome-screensaver to lock screen and require password to login (gnome-control-center -> Brightness and Lock)
2) Configure pam to use krb5/sss/winbind authentication against any KDC that supports password expiration;
3) login with normal (not expired) account (using lightdm/gdm/anotherdm);
4) mark this account's password as expired (or 'must change') somehow (depends on KDC you're using);
5) lock screen;
6) unlock screen with your password. You will not be asked to change your password;
7) try to access any kerberized service (http-proxy/samba/ssh), since credentials cache is expired - access will be denied.

[Regression Potential]
Fixing a bug with provided patch (raring) changes behavior on unlocking with expired password. If we need to save current behavior as default, then we should use new /etc/pam.d/gnome-screensaver (see comment #4 debdiff).

urusha (urusha) on 2012-03-12
tags: added: expired
removed: exired
Changed in gnome-screensaver (Ubuntu):
status: New → Confirmed
Changed in gnome-screensaver:
importance: Unknown → Medium
status: Unknown → New
urusha (urusha) wrote :

Here is the debdiff that fixes this bug. Packages with this patch should be built soon at https://launchpad.net/~urusha/+archive/bug952771

The attachment "precise debdiff" of this bug report has been identified as being a patch in the form of a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Robert Ancell (robert-ancell) wrote :

Thanks urusha,

The patch looks good to me and I've put it into raring. I used your debdiff and added a patch header (http://dep.debian.net/deps/dep3/).

This change aligns with our longer term plans to get rid of gnome-screensaver and just use the greeter as the lock interface (the greeter would require a password change).

Changed in gnome-screensaver (Ubuntu):
status: Confirmed → Fix Committed
importance: Undecided → Medium
urusha (urusha) wrote :

Thank you.
But is there a chance to see it backported to precise? If we need compatibility with current behavior for precise (I can't find a reason for it, but...) - we could use attached patch to pam config and then administrators could change /etc/pam.d/gnome-screensaver themselves to enable handling of expired creds.
What do you think?

Sebastien Bacher (seb128) wrote :

@urusha: thanks for the work, we probably want to wait for testing and feedback in raring before backporting to stable

Could you also update the bug to be compliant to https://wiki.ubuntu.com/StableReleaseUpdates if you want a backport to precise? It means having a least those infos in the bug description: impact, test case, regression potential

Unsubscribing ubuntu-sponsors for the moment so it's out of the review list until we get some feedback on the patch and get the bug updated

Changed in gnome-screensaver (Ubuntu Precise):
importance: Undecided → Low
status: New → Triaged
urusha (urusha) on 2012-11-30
description: updated
description: updated
urusha (urusha) wrote :

@seb128: I updated the bug descriptions as you wrote and subscribed ubuntu-sru team.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-screensaver - 3.6.1-0ubuntu2

---------------
gnome-screensaver (3.6.1-0ubuntu2) raring; urgency=low

  * debian/patches/28_handle_expired_creds.patch:
    - Allow handling of expired credentials. Thanks Brian C. Huffman for patch.
      (LP: #952771)
 -- Sergey Urushkin <email address hidden> Thu, 29 Nov 2012 13:19:54 +0400

Changed in gnome-screensaver (Ubuntu):
status: Fix Committed → Fix Released
Nicola Volpini (nicola-volpini) wrote :

Hi, we're hitting this bug on Ubuntu 12.04. Is there any possibility for this to be backported to 12.04?
Thank you.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.