[4351] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Overflow in xlock

daemon@ATHENA.MIT.EDU (David Hedley)
Sun Apr 27 13:48:04 1997

Date: 	Sun, 27 Apr 1997 14:27:08 +0100
Reply-To: David Hedley <hedley@CS.BRIS.AC.UK>
From: David Hedley <hedley@CS.BRIS.AC.UK>
X-To:         George Staikos <staikos@0wned.org>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  Your message of Sat, 26 Apr 1997 16:16:05 -0400. 
              <Pine.LNX.3.91.970426160718.1940A-100000@warrior.0wned.org>

>>>>> "GS" == George Staikos <staikos@0wned.org> writes:

    GS> There appears to be an exploitable buffer overflow in xlock, the
    GS> X based screensaver/locker. Xlock is installed suid root on
    GS> machines with shadowed passwords. I have verified this on xlock
    GS> versions on AIX 4.x and Linux (exploit for Linux posted below),
    GS> but I cannot determine what version I was using, as xlock does
    GS> not seem to contain version information in the binary and I
    GS> don't have the original source. The overflow is in the -name
    GS> parameter, and it is fixed in xlockmore-4.01, available on
    GS> sunsite in /pub/Linux/X11/screensavers/xlockmore-4.01.tgz .
    GS> Other platforms have not been checked for this, and while this
    GS> is an older version of xlock, many systems seem to come
    GS> preloaded with this version. Also, xlock does not need to be
    GS> suid root unless it is running on a machine with shadowed
    GS> passwords, so another possible fix it chmod u-s xlock.

I mailed CERT at the beginning of this month about the problem with
xlock (VU#14948). I was going to give them a month or so to get a patch
organised before publishing my exploit (for Solaris 2.5.x). As far as I
know, all platforms shipped with xlock are vulnerable to this problem.

xlockmore-4.02 fixes all these problems, including one minor buffer
overflow present in xlockmore-4.01. It is available as
ftp.x.org:/contrib/applications/xlockmore-4.02.tar.gz

The following is taken from my posting to CERT:

[snip]

I have recently discovered a security hole in xlock which allows existing
users to become root. This hole is present on _all_ versions of xlock in
existence to the best of my knowledge. Including Solaris, Irix (5.3 &
6.2), FreeBSD and any other system which has xlock installed suid root.

The problem lies in xlock trusting various bits of the environment and
its command line arguments. Specifically:

$HOME
$XAPPLRESDIR
$XUSERFILESEARCHPATH
$XFILESEARCHPATH
the classname (specified via the -name parameter)
the mode (specified via the -mode parameter)

To see if you are vulnerable, simply do:
xlock -name xxxxxxxxxxxxxxxxxxxxxxxx <insert lots of x's here>

If xlock crashes with a segmentation fault or similar, then you are
vulnerable.

[snip]

David
--
 David Hedley (hedley@cs.bris.ac.uk)
 finger hedley@cs.bris.ac.uk for PGP key
 Computer Graphics Group | University of Bristol | UK

home help back first fref pref prev next nref lref last post