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

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                  ESB-2002.401 -- FreeBSD-SA-02:37.kqueue
        local users can panic the system using the kqueue mechanism
                               8 August 2002

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:                kqueue
Vendor:                 FreeBSD
Operating System:       FreeBSD 4.6-STABLE prior to the correction date
                        FreeBSD 4.6-RELEASE
                        FreeBSD 4.5-RELEASE
                        FreeBSD 4.4-RELEASE
                        FreeBSD 4.3-RELEASE
Impact:                 Denial of Service
Access Required:        Existing Account

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

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

=============================================================================
FreeBSD-SA-02:37.kqueue                                     Security Advisory
                                                          The FreeBSD Project

Topic:          local users can panic the system using the kqueue mechanism

Category:       core
Module:         kqueue
Announced:      2002-08-05
Credits:        Mark Delany <markd@bushwire.net>
Affects:        FreeBSD 4.3-RELEASE
                FreeBSD 4.4-RELEASE
                FreeBSD 4.5-RELEASE
                FreeBSD 4.6-RELEASE
                FreeBSD 4.6-STABLE prior to the correction date
Corrected:      2002-08-05 15:05:15 (RELENG_4)
                2002-08-05 15:13:48 (RELENG_4_6)
                2002-08-05 15:13:44 (RELENG_4_5)
                2002-08-05 15:13:40 (RELENG_4_4)
FreeBSD only:   YES

I.   Background

The kqueue mechanism allows a process to register interest in
particular events on particular file descriptors, and receive
asynchronous notification when these events occur on the selected
descriptors.

II.  Problem Description

If a pipe was created with the pipe(2) system call, and one end of the
pipe was closed, registering an EVFILT_WRITE filter on the other end
would cause a kernel panic.

A common scenario in which this could occur is when a process uses a
pipe to communicate with a child and uses kqueue to monitor the pipe,
and the child dies shortly after the fork(2) call, before the parent
has had time to register the filter.

III. Impact

A local attacker may cause the system to panic by executing their own
malicious application.

IV.  Workaround

There is no known workaround.

V.   Solution

The following patch has been verified to apply to FreeBSD 4.4, 4.5, and
4.6 systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:37/kqueue.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:37/kqueue.patch.asc

b) Apply the patch.

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
<URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
system.

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Path                                                             Revision
  Branch
- - -------------------------------------------------------------------------
sys/kern/sys_pipe.c
  RELENG_4                                                      1.60.2.13
  RELENG_4_6                                                1.60.2.12.2.1
  RELENG_4_5                                                1.60.2.11.2.1
  RELENG_4_4                                                1.60.2.10.2.1
- - -------------------------------------------------------------------------
- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iQCVAwUBPU8OFlUuHi5z0oilAQFTugP/S+2u/BK8Oz53oFTcTY84ReNRJZMEJ8dX
PVHMWZ7xl4stYoeo8iX+moq+R2riZqEfzT+lx1lYZBkYkkmIwGxI+6qJgBqkPriL
acswOhfdzLSgwIoXNJsGdO9vlYwsNqiRsf5Yay+gKDqRUxCPA27X528uc1jhtAdd
UzagA6Lhrk8=
=uTZC
- -----END PGP SIGNATURE-----
- --------------------------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:

        http://www.auscert.org.au/Information/advisories.html

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

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 member emergencies only.

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

iQCVAwUBPVJQHyh9+71yA2DNAQEDOwP9H6wc5MevaY77YNYMBQZohCcU1lt3InXR
a+oEI17hZ8X6JyAlL6zFvZBv4HzLEM2LFVnwUuvmyk4AklEWkB2OFXAta/9AHL6F
du7iyQaTNI4cEouMfyRwvHJ+C3XkStPBLbDmXVv3weazImO5pa4mm+hwYvyA53u4
5euOjq7sv6A=
=xEv/
-----END PGP SIGNATURE-----