CVE-2008-0887: Medium severity gnome screensaver vulnerability

Published Mar 3, 2008
·
Updated

Description of problem:

If a RHEL5.1 GNOME desktop is locked, and the authentication method is NIS, anyone can unlock the screen with no passwd if the network connection to the NIS disappears or the NIS server is not available.

How reproducible:

Every time.

Steps to Reproduce:

1. Configure machine to be NIS server per:

http://kbase.redhat.com /faq/FAQ435684.shtm

2. Configure a NIS client using system-config-authentication

3. Login to GNOME desktop with NIS-only user.

4. Lock the screen

5. Stop the NIS server (customer disconnected network cable in his test)

6. Press return in lock window. Press cancel.

7. Screen unlocks with no passwd prompt.

Actual results:

Broke in.

Expected results:

Screen should stay locked as there is no way to validate the user who is logged in.

Additional info:

Similar bug on RHEL4:

https://bugzilla. redhat.com/showbug.cgi?id=237003

A similar bug was fixed on RHEL5:

Sun Oct 15 2006 Ray Strode <rstrode> - 2.16.0-13.el5 - lock screen immediately if login security token was removed before startup (bug 210411)

Customer tested gnome-screensaver-2.16.1-6.el5 from FastTrack channel but had same results.

Log file from his gnome-screensaver session attached.

Supporting Materials: Description of how to reproduce, log from gnome-screensaver. I've reproduced this on F8 and RHEL 5.1 as well, a sosreport is currently being generated from my RHEL 5.1 guest.

More Info:ore info...

The problem might be on any of the calls to getpwnam():

File Function Line 0 fusa-manager.c fusamanagergetuser 2272 pwent = getpwnam (username); 1 gs-auth-pam.c gsauthverifyuser 651 pwent = getpwnam (username); 2 gs-auth-pwent.c getencryptedpasswd 143 struct passwd p = getpwnam (user); 3 setuid.c hackuid 223 p = getpwnam ("nobody"); 4 setuid.c hackuid 224 if (! p) p = getpwnam ("noaccess"); 5 setuid.c hackuid 225 if (! p) p = getpwnam ("daemon");

Test program gets this error: #include <sys/types.h> #include <pwd.h> #include <stdlib.h> #include <stdio.h>

int main(char argc, char argv[]) {

if (!getpwnam("rickb")) printf("error"); }

./getpwnam doypcall: clntcall: RPC: Unable to receive; errno = Connection refused YPBINDPROCDOMAIN: Domain not bound

If NIS is down.

If those calls to getpwent() don't handle a NULL properly, we could be in trouble if the return values are undefined.

Additional info:

Problem may be that gnome-screenaver-dialog is exiting abnormally.

If you attach with gdb to this process and set a breakpoint on exit, continue, then shutdown the NIS server, you get this stack trace:

Program received signal SIGTERM, Terminated. [Switching to Thread 46912496279280 (LWP 10062)] 0x00000038cb40dd4d in raise () from /lib64/libpthread.so.0 (gdb) bt #0 0x00000038cb40dd4d in raise () from /lib64/libpthread.so.0 #1 0x000000000040e529 in gcclosuremarshalVOIDOBJECT () #2 0x0000000000408889 in gcclosuremarshalVOIDOBJECT () #3 0x00000038cd42cf44 in gmaincontextdispatch () from /lib64/libglib-2.0.so.0 #4 0x00000038cd42fd7d in gmaincontextcheck () from /lib64/libglib-2.0.so.0 #5 0x00000038cd43008a in gmainlooprun () from /lib64/libglib-2.0.so.0 #6 0x00000038d712aad3 in gtkmain () from /usr/lib64/libgtk-x11-2.0.so.0 #7 0x00000000004085c1 in gcclosuremarshalVOIDOBJECT () #8 0x00000038ca81d8a4 in libcstartmain () from /lib64/libc.so.6 #9 0x00000000004082d9 in gcclosuremarshalVOIDOBJECT () #10 0x00007ffff53660e8 in ?? () #11 0x0000000000000000 in ?? ()

(gdb) info thread 2 Thread 1084229952 (LWP 10063) 0x00000038ca8c5d16 in poll () from /lib64/libc.so.6 1 Thread 46912496279280 (LWP 10062) 0x00000038cb40dd4d in raise () from /lib64/libpthread.so.0

Once this happens, the process terminates.

Other sources

gnome-screensaver before 2.22.1, when a remote authentication server is enabled, crashes upon an unlock attempt during a network outage, which allows physically proximate attackers to gain access to the locked session, a related issue to CVE-2007-1859.

MITRE

Affected Software

2 affected componentsFixes available
redhat/2.18.2<4.
4.
Gnome screensaver<=2.20.0

Event History

Apr 6, 2008
CVE Published
via MITRE·11:00 PM
Data Sourced
via MITRE·11:00 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2008-0887?

CVE-2008-0887 is considered a security vulnerability that allows unauthorized screen unlocking under specific conditions.

2

How do I fix CVE-2008-0887?

To fix CVE-2008-0887, ensure that the NIS server is consistently available or consider using a more reliable authentication method.

3

Which systems are affected by CVE-2008-0887?

CVE-2008-0887 affects GNOME screensavers on RHEL5.1 systems that are configured with NIS for authentication.

4

What happens when the NIS connection drops related to CVE-2008-0887?

When the NIS connection drops, the screen can be unlocked without a password, compromising system security.

5

Is there a workaround for CVE-2008-0887?

A potential workaround for CVE-2008-0887 includes disabling NIS or switching to local authentication methods to enhance security.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203