Users login

Create an account »


Users login

Home » Security Advisories» FreeBSD » Security vulnerability in rdist

Security vulnerability in rdist

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.

  • Vendor: FreeBSD
  • Vendor ID: SA-96:16
  • Date: July 12, 1996


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

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

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:
Confidential contacts: [email protected]
PGP Key:
Security notifications: [email protected]
Security public discussion: [email protected]

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.

Version: 2.6.2


Newsletter signup

Signup to our monthly newsletter and stay in touch with IT news!

Free E-books

We've got ebooks! But they're not online. :( Please give us a few days to bring downloads back.


Have something to say or just wanna drop us a line? Please keep this in mind: to spam, we reply with spam.

Contact us »