Greeter shows "LightDM" user due to XDG_SESSION_CLASS not being provided to logind or ConsoleKit

Bug #1242939 reported by Robert Ancell
132
This bug affects 97 people
Affects Status Importance Assigned to Milestone
Light Display Manager
Fix Released
High
Robert Ancell
1.8
Fix Released
High
Robert Ancell
1.9
Fix Released
High
Robert Ancell
lightdm (Ubuntu)
Fix Released
High
Robert Ancell
Saucy
Fix Released
High
Robert Ancell
Trusty
Fix Released
High
Robert Ancell

Bug Description

XDG_SESSION_CLASS not provided to logind or ConsoleKit.

The ConsoleKit support was regressed in 1.7.5 and it's never been passed to logind.

Without the greeter being marked as a "greeter" class both logind and ConsoleKit consider it an open session that must be logged out of before you can shutdown.

This cases AccountsService to report this user and it is shown in greeters.

To reproduce:
1. Boot to Unity Greeter
2. Log into guest account
3. Log out of guest account
Expected result:
Greeter shows user list same as before login
Observed result:
A new user is added - "Light Display Manager"

Regression potential:
This variable has not been set when using logind in Ubuntu so a low risk of other subtle behaviour changes.

Related branches

CVE References

Changed in lightdm:
status: New → In Progress
Changed in lightdm (Ubuntu Trusty):
status: New → In Progress
Changed in lightdm (Ubuntu Saucy):
status: New → In Progress
assignee: nobody → Robert Ancell (robert-ancell)
Changed in lightdm (Ubuntu Trusty):
assignee: nobody → Robert Ancell (robert-ancell)
Changed in lightdm:
assignee: nobody → Robert Ancell (robert-ancell)
importance: Undecided → High
Changed in lightdm (Ubuntu Saucy):
importance: Undecided → High
Changed in lightdm (Ubuntu Trusty):
importance: Undecided → High
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:lightdm at revision 1820, scheduled for release in lightdm, milestone Unknown

Changed in lightdm:
status: In Progress → Fix Committed
Changed in lightdm (Ubuntu Trusty):
status: In Progress → Fix Committed
summary: - XDG_SESSION_CLASS not provided to logind or ConsoleKit
+ Greeter shows "LightDM" user due to XDG_SESSION_CLASS not being provided
+ to logind or ConsoleKit
description: updated
description: updated
Changed in lightdm:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lightdm - 1.9.1-0ubuntu1

---------------
lightdm (1.9.1-0ubuntu1) trusty; urgency=low

  * New upstream release:
    - Correctly set $XDG_SESSION_CLASS for greeters. This was regressed in 1.7.5
      for ConsoleKit and was never passed to logind. logind/ConsoleKit treat
      greeter sessions without this set as user sessions. This causes greeters
      to show the lightdm user able to be logged in with.
      (LP: #1242939)
    - Set $USER when running the session-setup-script. This is a regression from
      1.7.5. (LP: #1245957)
    - Fix notification of sessions being logged out. This is a regression from
      1.7.5 and caused greeters to show sessions logged in after they had been
      logged out. (LP: #1245295)
    - Refactor liblightdm user scanning to be simpler and more reliable. This
      fixes bugs where some properties wouldn't be updated when they changed in
      accounts service.
    - Add support for a "display-stopped-script" field in lightdm.conf. The
      "display-stopped-script" field allows us to run a script right after
      stopping the display server.
    - Allow dm-tool to run outside of a session if it doesn't need to be.
    - Set $MIR_SERVER_NAME to assign a name to launched sessions. Also use a
      "greeter-" prefix for greeter sessions for the benefit of
      unity-system-compositor.
 -- Robert Ancell <email address hidden> Wed, 30 Oct 2013 14:11:16 -0700

Changed in lightdm (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
GwaiTsi (gwaitsi) wrote :

fyi / i have 3 different systems and 3 different outcomes.

- new install 13.10 on new machine, no issue

- clean upgrade from 13.04 to 13.10 where adding lightdm to hidden-users solved the problem

- bad upgrade 13.04 t 13.10 where 13.10 had to be re-installed but /home was changed to old raid drive.
  in this instance, adding lightdm to hidden-users only solves after a logout and coming back to the login screen. the initial after boot screen still shows the Light Display Manager user.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lightdm - 1.8.4-0ubuntu1

---------------
lightdm (1.8.4-0ubuntu1) saucy-security; urgency=low

  [ Marc Deslauriers ]
  * SECURITY UPDATE: improper guest account confinement (LP: #1243339)
    - CVE-2013-4459

  [ Robert Ancell ]
  * New upstream release:
    - Implement missing guest-wrapper functionality and enable it for Ubuntu.
    - Update AppArmor scripts to work in Ubuntu 13.10. (LP: #1243339)
  * debian/50-guest-wrapper.conf:
    - Configure guest session wrapper to use

lightdm (1.8.3-0ubuntu1) saucy; urgency=low

  * New upstream release:
    - Correctly set $XDG_SESSION_CLASS for greeters. This was regressed in 1.7.5
      for ConsoleKit and was never passed to logind. logind/ConsoleKit treat
      greeter sessions without this set as user sessions. This causes greeters
      to show the lightdm user able to be logged in with.
      (LP: #1242939)
    - Set $USER when running the session-setup-script. This is a regression from
      1.7.5. (LP: #1245957)
    - Fix notification of sessions being logged out. This is a regression from
      1.7.5 and caused greeters to show sessions logged in after they had been
      logged out. (LP: #1245295)
 -- Marc Deslauriers <email address hidden> Mon, 04 Nov 2013 13:35:26 -0500

Changed in lightdm (Ubuntu Saucy):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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