Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mate-screensaver does not maintain user lockout / screen lock under certain conditions #152

Closed
qth opened this issue Apr 10, 2018 · 9 comments

Comments

@qth
Copy link

qth commented Apr 10, 2018

Expected behaviour

mate-screensaver should keep the user's session locked until valid authentication has taken place (password entered, etc.)

Actual behaviour & steps to reproduce the behaviour

Do the following:

  1. Have two display-port attached displays on a fresh install of Fedora 27. Mine are in ports 3 & 4, in case that makes any difference. Login to MATE.
  2. Press ctrl-alt-L or allow the screensaver timeout to lock the screen.

3.a. Bump the mouse or type a key on the keyboard before the displays have either been placed into power save mode or put to sleep:
< MATE presents the password prompt and the user's windows remain hidden until the password has been correctly entered. >

3.b. Bump the mouse or type a key on the keyboard after the displays have been put into power save mode, but before they have been put to sleep:
< MATE presents the unlock with password prompt, but displays (doesn't hide) the windows of your desktop. You cannot interact with the applications or windows until the password has been correctly entered, but the content is plainly visible as described by other users in this bug. >

3.c. Bump the mouse to type a key on the keyboard after the displays have been put to sleep:
< MATE blanks one display where the password dialog box would have been, the other is available for interaction WITHOUT having entered in the correct password. New applications can be launched, all applications may be used with the same privilege level of the user who had previously logged in and believed that their desktop was locked. >

MATE general version

1.19.3

Package version

mate-applets-1.19.4-1.fc27.x86_64
mate-backgrounds-1.19.0-1.fc27.noarch
mate-calc-1.19.0-1.fc27.x86_64
mate-control-center-1.19.3-2.fc27.x86_64
mate-control-center-filesystem-1.19.3-2.fc27.x86_64
mate-desktop-1.19.3-1.fc27.x86_64
mate-desktop-libs-1.19.3-1.fc27.x86_64
mate-dictionary-1.19.1-1.fc27.x86_64
mate-disk-usage-analyzer-1.19.1-1.fc27.x86_64
mate-icon-theme-1.19.0-1.fc27.noarch
mate-media-1.19.1-1.fc27.x86_64
mate-menus-1.19.0-1.fc27.x86_64
mate-menus-libs-1.19.0-1.fc27.x86_64
mate-menus-preferences-category-menu-1.19.0-1.fc27.x86_64
mate-notification-daemon-1.19.1-1.fc27.x86_64
mate-panel-1.19.5-1.fc27.x86_64
mate-panel-libs-1.19.5-1.fc27.x86_64
mate-polkit-1.19.0-1.fc27.x86_64
mate-power-manager-1.19.1-1.fc27.x86_64
mate-screensaver-1.19.1-1.fc27.x86_64
mate-screenshot-1.19.1-1.fc27.x86_64
mate-search-tool-1.19.1-1.fc27.x86_64
mate-session-manager-1.19.1-1.fc27.x86_64
mate-settings-daemon-1.19.2-1.fc27.x86_64
mate-system-log-1.19.1-1.fc27.x86_64
mate-system-monitor-1.19.1-1.fc27.x86_64
mate-terminal-1.19.1-1.fc27.x86_64
mate-themes-3.22.16-1.fc27.noarch
mate-user-guide-1.19.0-1.fc27.noarch
mate-utils-common-1.19.1-1.fc27.noarch

Linux Distribution

Fedora 27

Link to downstream report of your Distribution

I may have to open a new bug with Fedora / RH since I didn't open this one originally --> https://bugzilla.redhat.com/show_bug.cgi?id=1397900

@Safari77
Copy link

v1.20.0 happily unlocks the screensaver when I turn my monitor off and on.
xscreensaver works as expected.

Here what happens when I turn off/on.

kernel: [drm] HBR2x4 pass VS=2, PE=0
kernel: [drm] Rx Caps: 
kernel: [drm] HBR2x4 pass VS=2, PE=1
kernel: [drm] U3277WB: [Block 0] 
kernel: [drm] U3277WB: [Block 1] 
kernel: [drm] dc_link_detect: manufacturer_id = E305, product_id = 3277, serial_number = 72D, manufacture_week = 49, manufacture_year = 26, display_name = U3277WB, speaker_flag = 1, audio_mode_count = 1
kernel: [drm] dc_link_detect: mode number = 0, format_code = 1, channel_count = 2, sample_rate = 7, sample_size = 7
kernel: [drm] {3840x2160, 4000x2222@533250Khz}
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/terminal/global/'"
method return time=1523532833.309571 sender=org.freedesktop.DBus -> destination=:1.83 serial=38929 reply_serial=38957
method call time=1523532833.496049 sender=:1.729 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1523532833.496087 sender=org.freedesktop.DBus -> destination=:1.729 serial=1 reply_serial=1
   string ":1.729"
signal time=1523532833.496178 sender=org.freedesktop.DBus -> destination=(null destination) serial=13 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.729"
   string ""
   string ":1.729"
signal time=1523532833.496225 sender=org.freedesktop.DBus -> destination=:1.729 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.729"
method call time=1523532833.496269 sender=:1.729 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner
   string "org.mate.ScreenSaver"
method return time=1523532833.496295 sender=org.freedesktop.DBus -> destination=:1.729 serial=3 reply_serial=2
   boolean true
method call time=1523532833.496466 sender=:1.729 -> destination=org.mate.ScreenSaver serial=3 path=/org/mate/ScreenSaver; interface=org.mate.ScreenSaver; member=Lock
signal time=1523532833.496988 sender=org.freedesktop.DBus -> destination=:1.729 serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.729"
signal time=1523532833.497000 sender=org.freedesktop.DBus -> destination=(null destination) serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.729"
   string ":1.729"
   string ""
method call time=1523532834.549526 sender=:1.725 -> destination=org.freedesktop.DBus serial=16 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/desktop/background/'"
method return time=1523532834.549543 sender=org.freedesktop.DBus -> destination=:1.725 serial=16 reply_serial=16
method call time=1523532834.549546 sender=:1.725 -> destination=org.freedesktop.DBus serial=17 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/desktop/background/'"
method return time=1523532834.549551 sender=org.freedesktop.DBus -> destination=:1.725 serial=17 reply_serial=17
signal time=1523532834.587014 sender=:1.724 -> destination=(null destination) serial=13 path=/org/mate/ScreenSaver; interface=org.mate.ScreenSaver; member=ActiveChanged
   boolean true
signal time=1523532834.587159 sender=:1.26 -> destination=(null destination) serial=529 path=/org/gnome/SessionManager/Presence; interface=org.gnome.SessionManager.Presence; member=StatusChanged
   uint32 3
method call time=1523532836.497805 sender=:1.725 -> destination=org.freedesktop.DBus serial=18 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/desktop/background/'"
method return time=1523532836.497831 sender=org.freedesktop.DBus -> destination=:1.725 serial=18 reply_serial=18
method call time=1523532836.497839 sender=:1.725 -> destination=org.freedesktop.DBus serial=19 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/desktop/background/'"
method return time=1523532836.497854 sender=org.freedesktop.DBus -> destination=:1.725 serial=19 reply_serial=19
method call time=1523532836.642417 sender=:1.730 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1523532836.642434 sender=org.freedesktop.DBus -> destination=:1.730 serial=1 reply_serial=1
   string ":1.730"
signal time=1523532836.642445 sender=org.freedesktop.DBus -> destination=(null destination) serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.730"
   string ""
   string ":1.730"
signal time=1523532836.642483 sender=org.freedesktop.DBus -> destination=:1.730 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.730"
method call time=1523532836.643087 sender=:1.730 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gtk.vfs.Daemon'"
method return time=1523532836.643106 sender=org.freedesktop.DBus -> destination=:1.730 serial=3 reply_serial=2

...

method return time=1523532846.774139 sender=org.freedesktop.DBus -> destination=:1.731 serial=6 reply_serial=6
method call time=1523532846.809377 sender=:1.731 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/screensaver/'"
method return time=1523532846.809405 sender=org.freedesktop.DBus -> destination=:1.731 serial=7 reply_serial=7
method call time=1523532846.809428 sender=:1.731 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/org/mate/screensaver/'"
method return time=1523532846.809436 sender=org.freedesktop.DBus -> destination=:1.731 serial=8 reply_serial=8
signal time=1523532846.825964 sender=org.freedesktop.DBus -> destination=:1.731 serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.731"
signal time=1523532846.825999 sender=org.freedesktop.DBus -> destination=(null destination) serial=18 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.731"
   string ":1.731"
   string ""

@joakim-tjernlund
Copy link
Contributor

@Safari77 , the log is unreadable in the GUI, attach it instead.

@raveit65
Copy link
Member

sorry, wrong issue.

@Safari77
Copy link

@joakim-tjernlund select-all and xclip -o in terminal
here more useful logs:
#126

@joakim-tjernlund
Copy link
Contributor

no, I menat YOUR logs

@Safari77
Copy link

@joakim-tjernlund Me too 😊👍

@joakim-tjernlund
Copy link
Contributor

In an attachment, I noted after adding my own logs quite some time ago, that reading these
when pasted into the GUI is hard, digging it out with various select, copy and paste actions is less appealing.
The logs are not for me though, I am hoping some MATE dev will have a go at fixing this.

@raveit65
Copy link
Member

raveit65 commented Sep 8, 2018

1.20.2 is released.

@raveit65 raveit65 closed this as completed Sep 8, 2018
@sunweaver
Copy link
Member

This is CVE-2018-20681

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants