mailing list archives
FreeBSD Security Advisory: FreeBSD-SA-00:10.orville-write
From: security-officer () FREEBSD ORG (FreeBSD Security Officer)
Date: Wed, 15 Mar 2000 09:37:57 -0800
-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-SA-00:10 Security Advisory
Topic: orville-write port contains local root compromise.
Affects: Ports collection before the correction date.
FreeBSD only: Yes
Orville-write is a replacement for the write(1) command, which
provides improved control over message delivery and other features.
II. Problem Description
One of the commands installed by the port is incorrectly installed
with setuid root permissions. The 'huh' command should not have any
special privileges since it is intended to be run by the local user to
view his saved messages.
The orville-write port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 3100 third-party applications in a ready-to-install
format. The FreeBSD 4.0-RELEASE ports collection is not vulnerable to
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.
A local user can exploit a buffer overflow in the 'huh' utility to
obtain root privileges.
If you have not chosen to install the orville-write port/package, then
your system is not vulnerable.
Remove the orville-write port if you have installed it.
Remove the setuid bit from the huh utility, by executing the following
command as root:
chmod u-s /usr/local/bin/huh
It is not necessary to reinstall the orville-write port, although this
can be done in one of the following ways if desired:
1) Upgrade your entire ports collection and rebuild the orville-write port.
2) Reinstall a new package dated after the correction date, obtained from:
Note: it may be several days before the updated packages are available.
3) download a new port skeleton for the orville-write port from:
and use it to rebuild the port.
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:
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----