FreeBSD Security Advisory FreeBSD-SA-01:

From: FreeBSD Security Advisories (security-advisories@FreeBSD.org)
Date: 07/10/01


Date: Tue, 10 Jul 2001 07:02:15 -0700 (PDT)
From: FreeBSD Security Advisories <security-advisories@FreeBSD.org>
To: FreeBSD Security Advisories <security-advisories@FreeBSD.org>


-----BEGIN PGP SIGNED MESSAGE-----

=============================================================================
FreeBSD-SA-01:42 Security Advisory
                                                                FreeBSD, Inc.

Topic: signal handling during exec may allow local root
                compromise

Category: core
Module: kernel
Announced: 2001-07-10
Credits: Georgi Guninski <guninski@guninski.com>
Affects: All released versions of FreeBSD 4.x,
                FreeBSD 4.3-STABLE prior to the correction date.
Corrected: 2001-07-09
FreeBSD only: Yes

I. Background

When a process forks, it inherits the parent's signals. When the
process execs, the kernel clears the signal handlers because they are
not valid in the new address space.

II. Problem Description

A flaw exists in FreeBSD signal handler clearing that would allow for
some signal handlers to remain in effect after the exec. Most of the
signals were cleared, but some signal hanlders were not. This allowed
an attacker to execute arbitrary code in the context of a setuid
binary.

All versions of 4.x prior to the correction date including and
4.3-RELEASE are vulnerable to this problem. The problem has been
corrected by copying the inherited signal handlers and resetting the
signals instead of sharing the signal handlers.

III. Impact

Local users may be able to gain increased privileges on the local
system.

IV. Workaround

Do not allow untrusted users to gain access to the local system.

V. Solution

One of the following:

1) Upgrade your vulnerable FreeBSD system to 4.3-STABLE after the
correction date.

2) To patch your present system: download the relevant patch from the
below location, and execute the following commands as root:

[FreeBSD 4.1, 4.2, and 4.3 base systems]

This patch has been verified to apply to FreeBSD 4.1, 4.2, and 4.3 only.
It may or may not apply to older releases.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:42/signal-4.3.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:42/signal-4.3.patch.asc

Verify the detached PGP signature using your PGP utility.

# cd /usr/src/sys/kern
# patch -p < /path/to/patch

[ Recompile your kernel as described in
http://www.freebsd.org/handbook/kernelconfig.html and reboot the
system ]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: FreeBSD: The Power To Serve

iQCVAwUBO0sBrlUuHi5z0oilAQF4nAP/Wi8RsYGjJQ7NgP/+FwMs8/lekAJ9iEan
3Ph7xpsFEhJFWhCfrhmM71fMnOwpZ5kijztSOEko7TMRzTtG+dZLKcCKmVg+a1dT
SJmm2SJp3NE1nlYVqSH1vfVeVcJI5rtAQ33gTPhiL5U26AMr4wep/Elv1p/Shb/D
CUpueXr6tEE=
=n74Z
-----END PGP SIGNATURE-----

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message



Relevant Pages

  • Where is the patch? (RE: FreeBSD Security Advisory FreeBSD-SA-01:)
    ... At the time of writing this email, I still see no patch on the FreeBSD ftp ... > some signal handlers to remain in effect after the exec. ... > correction date. ...
    (FreeBSD-Security)
  • Re: FreeBSD Security Advisory FreeBSD-SA-01:
    ... >FreeBSD only: Yes ... >some signal handlers to remain in effect after the exec. ... >correction date. ... >Verify the detached PGP signature using your PGP utility. ...
    (FreeBSD-Security)
  • RE: FreeBSD Security Advisory FreeBSD-SA-01:
    ... the only way I have found to temporarily stop stupid script ... I'd upgrade real soon.. ... Subject: FreeBSD Security Advisory FreeBSD-SA-01: ... >for some signal handlers to remain in effect after the exec. ...
    (FreeBSD-Security)
  • RE: FreeBSD Security Advisory FreeBSD-SA-01:
    ... its only if you have untrusted users on your box. ... > I'd upgrade real soon.. ... >>FreeBSD only: Yes ... >>for some signal handlers to remain in effect after the exec. ...
    (FreeBSD-Security)