-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-SA-01:28 Security Advisory
Topic: timed allows remote denial of service
Credits: Discovered during internal source code auditing
Affects: All released versions of FreeBSD 3.x, 4.x.
FreeBSD 3.5-STABLE prior to the correction date.
FreeBSD 4.2-STABLE prior to the correction date.
Corrected: 2001-03-10 (FreeBSD 3.5-STABLE)
2001-01-07 (FreeBSD 4.2-STABLE)
FreeBSD only: NO
timed(8) is a server for the Time Synchronisation Protocol, for
synchronising the system clocks of multiple clients.
II. Problem Description
Malformed packets sent to the timed daemon could cause it to crash,
thereby denying service to clients if timed is not run under a
watchdog process which causes it to automatically restart in the event
of a failure. The timed daemon is not run in this way in the default
invocation from /etc/rc.conf using the timed_enable variable.
The timed daemon is not enabled by default, and its use is not
recommended (FreeBSD includes ntpd(8), the network time protocol
daemon, which provides superior functionality).
All versions of FreeBSD 3.x and 4.x prior to the correction date
including 3.5.1-RELEASE and 4.2-RELEASE are vulnerable to this
problem, if they have been configued to run timed. It was corrected
prior to the forthcoming release of FreeBSD 4.3.
Remote users can cause the timed daemon to crash, denying service to
Implement packet filtering at perimeter firewalls or on the local
machine using ipfw(8)/ipf(8) to prevent untrusted users from
connecting to the timed service. The timed daemon listens on UDP port
525 by default.
Upgrade your vulnerable FreeBSD system to 3.5-STABLE or 4.2-STABLE
after the respective correction dates.
To patch your present system: download the relevant patch from the
below location, and execute the following commands as root:
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:28/timed.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:28/timed.patch.asc
This patch has been verified to apply to FreeBSD 4.2-RELEASE and
FreeBSD 3.5.1-RELEASE. It may or may not apply to older releases.
Verify the detached PGP signature using your PGP utility.
# cd /usr/src/usr.sbin/timed/timed
# patch -p < /path/to/patch
# make depend && make all install
Kill and restart timed to cause the changes to take effect. If you
have started timed with non-standard options (e.g. by setting
timed_flags in /etc/rc.conf) then the below command will need to be
# killall -KILL timed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (FreeBSD)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----