security vulnerability in rdist
6dfe953a569e6b67caebfd37270fd360a6c69b92c6cb80ddc9c6e5f8a0165937
From security-officer@freebsd.org Wed Jul 17 15:25:00 1996
Date: Wed, 17 Jul 1996 11:39:59 -0500
From: FreeBSD Security Officer <security-officer@freebsd.org>
Reply-To: Bugtraq List <BUGTRAQ@netspace.org>
To: Multiple recipients of list BUGTRAQ <BUGTRAQ@netspace.org>
Subject: FreeBSD Security Advisory 96:16 - rdist
-----BEGIN PGP SIGNED MESSAGE-----
=============================================================================
FreeBSD-SA-96:16 Security Advisory
Revised: Fri Jul 12 09:32:53 PDT 1996 FreeBSD, Inc.
Topic: security vulnerability in rdist
Category: core
Module: rdist
Announced: 1996-07-12
Affects: FreeBSD 2.0, 2.0.5, 2.1, 2.1-stable, and 2.2-current
Corrected: 2.1-stable and 2.2-current as of 1996-07-11
Source: 4.4BSD (lite)
FreeBSD only: no
Patches: ftp://freebsd.org/pub/CERT/patches/SA-96:16/
Reference: [8lgm]-Advisory-26.UNIX.rdist.20-3-1996
=============================================================================
I. Background
A bug was found in the BSD rdist utility which can allow
an unprivileged local user to gain unauthorized access.
This problem is present in all source code and binary
distributions of FreeBSD version 2.x released before 1996-07-12.
rdist has been the subject of security vulnerabilities in the past..
This is a newly discovered vulnerability not related to previous
race conditions fixed in rdist.
II. Problem Description
rdist creates an error message based on a user provided string,
without checking bounds on the buffer used. This buffer is
on the stack, and can therefore be used to execute arbitrary
instructions.
III. Impact
This vulnerability can allow a local user to obtain superuser
privileges. It may only be exploited by users with a valid
account on the local system. It is present in almost all BSD
derived operating systems with a "setuid" rdist program.
IV. Workaround
The rdist program must be setuid root to function properly.
This vulnerability can be eliminated by making rdist not
executable by unprivileged users. Since this limits the
usefulness of the program, a software update is advised.
This workaround will work for all versions of FreeBSD affected
by this problem.
As root, execute the commands:
# chflags noschg /usr/bin/rdist
# chmod u-s,go-rx /usr/bin/rdist
then verify that the setuid permissions of the files have been
removed. The permissions array should read "-r-x------" as
shown here:
# ls -l /usr/bin/rdist
-r-x------ 1 root bin 49152 Jun 16 10:46 rdist
V. Solution(s)
Apply the available via FTP from the patch directory noted
at the top of this message. Recompile, and reinstall the
rdist program. This patch is known to apply to all
FreeBSD 2.x systems, it has not been tested with FreeBSD 1.x.
The [8lgm] organization correctly points out that this program
does not have a particularly good security "history." While
the patch for this vulnerability does solve this particular
problem, it's not clear if other security issues involving rdist
will appear in the future.
Administrators should consider whether it is appropriate to
remove the standard rdist program and upgrade to rdist
version 6, which is available as a FreeBSD port.
FreeBSD, Inc. has not replaced the standard BSD rdist with
the newer code because the new rdist is not protocol-compatible
with the original version.
=============================================================================
FreeBSD, Inc.
Web Site: http://www.freebsd.org/
Confidential contacts: security-officer@freebsd.org
PGP Key: ftp://freebsd.org/pub/CERT/public_key.asc
Security notifications: security-notifications@freebsd.org
Security public discussion: security@freebsd.org
Notice: Any patches in this document may not apply cleanly due to
modifications caused by digital signature or mailer software.
Please reference the URL listed at the top of this document
for original copies of all patches if necessary.
=============================================================================
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBMeaC1FUuHi5z0oilAQHtzQP/U1f9y0R+upwCs5IFeBCUBVkFWUeJ/Wwb
CJPFmsBr54quI6Aie/LXa/Qw8EdrL54GIiNDZYkAzb9XvWOehOsmtoYN4oj0JAbJ
lesq746xOEfNMtpL866T8dxJRTsK98VMSaZK5IU8fVpVYUURcVDv+y+bqfL72Mst
3ajof2ieNxE=
=j2z5
-----END PGP SIGNATURE-----