-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-SA-01:09 Security Advisory
Topic: crontab allows users to read certain files [REVISED]
Credits: Kyong-won Cho <dubhe@HACKERSLAB.COM>
Patch obtained from OpenBSD (Todd Miller <email@example.com>)
Affects: FreeBSD 3.x (all releases), 4.x (all releases prior to 4.2)
FreeBSD 3.5.1-STABLE and 4.1.1-STABLE prior to the
Corrected: 2000-11-11 (FreeBSD 4.1.1-STABLE)
2000-11-20 (FreeBSD 3.5.1-STABLE)
FreeBSD only: No
0. Revision History
v1.0 2001-01-23 Initial release
v1.1 2001-01-25 Update to credit OpenBSD as source of patch
crontab(8) is a program to edit crontab(5) files for use by the cron
daemon, which schedules jobs to run at specified times.
II. Problem Description
crontab(8) was discovered to contain a vulnerability that may allow
local users to read any file on the system that conform to a valid
crontab(5) file syntax. Due to crontab(5) syntax requirements, the
files that may be read is limited and subject to the following
* The file is a valid crontab(5) file, or:
* The file is entirely commented out; every line contains either only
whitespace, or begins with a '#' character.
The greatest security vulnerability is the disclosure of crontab
entries owned by other users, which may contain sensitive data such as
keying material (although this would often be publically disclosed
anyway at the time when the crontab job executes, via process
arguments and environment, etc).
All released versions of FreeBSD prior to the correction date
including FreeBSD 4.1.1 are vulnerable to this problem. The problem
was corrected prior to the release of FreeBSD 4.2.
Malicious local users can read arbitrary local files that conform to
a valid crontab file syntax.
One of the following:
1) Utilize crontab allow/deny files (/var/cron/allow and
/var/cron/deny) to limit access to use the crontab(8) utility.
2) Remove the setuid privileges from /usr/sbin/crontab. However, this
will not allow users other than root to use cron.
One of the following:
Upgrade the vulnerable FreeBSD system to 3.5-STABLE or 4.1.1-STABLE
after the correction date.
To patch your present system: download the relavent patch from the
below location and execute the following commands as root:
Verify the detached PGP signature using your PGP utility.
# cd /usr/src/usr.sbin/cron/crontab
# patch -p < /path/to/patch
# make depend && make all install
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (FreeBSD)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----