FreeBSD Security Advisory FreeBSD-SA-02:37.kqueue
FreeBSD Security Advisories
security-advisories at freebsd.org
Mon Aug 5 16:52:55 PDT 2002
-----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 at 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-----
This is the moderated mailing list freebsd-announce.
The list contains announcements of new FreeBSD capabilities,
important events and project milestones.
See also the FreeBSD Web pages at http://www.freebsd.org
To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe freebsd-announce" in the body of the message
More information about the freebsd-announce
mailing list