Linux Today: Linux News On Internet Time.

More on LinuxToday

FreeBSD Security Advisory: FreeBSD-SA-00:03.asmon

Feb 21, 2000, 23:22 (0 Talkback[s])
(Other stories by Kris Kennaway)

Date: Sat, 19 Feb 2000 22:49:17 -0800
From: Kris Kennaway kris@FREEBSD.ORG
Subject: FreeBSD Security Advisory: FreeBSD-SA-00:03.asmon

FreeBSD-SA-00:03                                           Security Advisory
                                                                FreeBSD, Inc.

Topic: Asmon/Ascpu ports fail to drop privileges

Category: ports
Module: asmon/ascpu
Announced: 2000-02-19
Affects: Ports collection before the correction date.
Corrected: 2000-01-29
FreeBSD only: yes

I. Background

Two optional third-party ports distributed with FreeBSD can be used to execute commands with elevated privileges, specifically setgid kmem privileges. This may lead to a local root compromise.

II. Problem Description

Asmon and ascpu allow users to execute arbitrary commands as part of a user configuration file. Both applications are Linux-centric as distributed by the vendor and require patching to run under FreeBSD (specifically, using the kvm interface and setgid kmem privileges to obtain system statistics); this patching was the source of the present security problem. This is a similar flaw to one found in the wmmon port, which was corrected on 1999/12/31.

Note that neither utility is installed by default, nor are they "part of FreeBSD" as such: they are part of the FreeBSD ports collection, which contains over 3100 third-party applications in a ready-to-install format.

FreeBSD makes no claim about the security of these third-party applications, although an effort is underway to provide a security audit of the most security-critical ports.

III. Impact

If you have not chosen to install the asmon or ascpu ports/packages, then your system is not vulnerable. If you have, then local users can obtain setgid kmem rights, which allows them to manipulate kernel memory, and thereby compromise root.

IV. Workaround

Remove the asmon and ascpu ports/packages, if you have installed them.

V. Solution

One of the following:

1) Upgrade your entire ports collection and rebuild the asmon and/or ascpu ports.

2) Reinstall a new package obtained from:


after the correction date. At the time of advisory release, the asmon
package was not available - you may need to use one of the other methods to update the software.

3) download a new port skeleton for the asmon and/or ascpu ports from:


and use it to rebuild one or both ports.

4) Use the portcheckout utility to automate option (3) above. The portcheckout port is available in /usr/ports/devel/portcheckout or the package can be obtained from: