AUSCERT External Security Bulletin Redistribution

                  ESB-2001.287 -- FreeBSD-SA-01:42.signal
        signal handling during exec may allow local root compromise
                               12 July 2001


        AusCERT Security Bulletin Summary

Product:                kernel
Vendor:                 FreeBSD
Operating System:       FreeBSD 4.X
Impact:                 Root Compromise
Access Required:        Existing Account

- --------------------------BEGIN INCLUDED TEXT--------------------


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

Topic:          signal handling during exec may allow local root

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

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

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 ]

Version: GnuPG v1.0.6 (FreeBSD)
Comment: FreeBSD: The Power To Serve


- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content.  The decision to use any or all of this information is
the responsibility of each user or organisation, and should be done so in
accordance with site policies and procedures.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the original authors to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:


If you believe that your system has been compromised, contact AusCERT or
your representative in FIRST (Forum of Incident Response and Security

Internet Email: auscert@auscert.org.au
Facsimile:	(07) 3365 7031
Telephone:	(07) 3365 4417 (International: +61 7 3365 4417)
		AusCERT personnel answer during Queensland business hours
		which are GMT+10:00 (AEST).
		On call after hours for emergencies.

Version: 2.6.3i
Charset: noconv
Comment: ftp://ftp.auscert.org.au/pub/auscert/AUSCERT_PGP.key