FreeBSDForums.ORG - Dedicated Servers & Hosting Discussions

Help with FreeBSD, OpenBSD, NetBSD, MacOS X, Darwin, Linux, BSD Unix forums, message boards, discussions and news.

Skip to content

FreeBSD-SA-09:09.pipe Security Advisory

Posting the latest FreeBSD Security Advisories. Hot off the press for you to read, Thanks to The FreeBSD Project.

FreeBSD-SA-09:09.pipe Security Advisory

Postby UberGeek » Wed Jun 10, 2009 9:30 am

Just received this email today

=============================================================================
FreeBSD-SA-09:09.pipe Security Advisory
The FreeBSD Project

Topic: Local information disclosure via direct pipe writes

Category: core
Module: kern
Announced: 2009-06-10
Credits: Pieter de Boer
Affects: All supported versions of FreeBSD.
Corrected: 2009-06-10 10:31:11 UTC (RELENG_7, 7.2-STABLE)
2009-06-10 10:31:11 UTC (RELENG_7_2, 7.2-RELEASE-p1)
2009-06-10 10:31:11 UTC (RELENG_7_1, 7.1-RELEASE-p6)
2009-06-10 10:31:11 UTC (RELENG_6, 6.4-STABLE)
2009-06-10 10:31:11 UTC (RELENG_6_4, 6.4-RELEASE-p5)
2009-06-10 10:31:11 UTC (RELENG_6_3, 6.3-RELEASE-p11)

For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit <URL:http://security.FreeBSD.org/>.

I. Background

One of the most commonly used forms of interprocess communication on FreeBSD and other UNIX-like systems is the (anonymous) pipe. In this mechanism, a pair of file descriptors is created, and data written to one descriptor can be read from the other.

FreeBSD's pipe implementation contains an optimization known as "direct writes". In this optimization, rather than copying data into kernel memory when the write(2) system call is invoked and then copying the data again when the read(2) system call is invoked, the FreeBSD kernel takes advantage of virtual memory mapping to allow the data to be copied directly between processes.

II. Problem Description

An integer overflow in computing the set of pages containing data to be copied can result in virtual-to-physical address lookups not being performed.

III. Impact

An unprivileged process can read pages of memory which belong to other processes or to the kernel. These may contain information which is sensitive in itself; or may contain passwords or cryptographic keys which can be indirectly exploited to gain sensitive information or access.

IV. Workaround

No workaround is available, but systems without untrusted local users are not vulnerable. System administrators are reminded that even if a system is not intended to have untrusted local users, it may be possible for an attacker to exploit some other vulnerability to obtain local user access to a system.

V. Solution

Perform one of the following:

1) Upgrade your vulnerable system to 6-STABLE, or 7-STABLE, or to the RELENG_7_2, RELENG_7_1, RELENG_6_4, or RELENG_6_3 security branch dated after the correction date.

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 6.3, 6.4, 7.1, and 7.2 systems.

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

# fetch http://security.FreeBSD.org/patches/SA-09:09/pipe.patch
# fetch http://security.FreeBSD.org/patches/SA- ... .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.

CVS:

Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_6
src/sys/kern/sys_pipe.c 1.184.2.5
RELENG_6_4
src/UPDATING 1.416.2.40.2.9
src/sys/conf/newvers.sh 1.69.2.18.2.11
src/sys/kern/sys_pipe.c 1.184.2.4.2.2
RELENG_6_3
src/UPDATING 1.416.2.37.2.16
src/sys/conf/newvers.sh 1.69.2.15.2.15
src/sys/kern/sys_pipe.c 1.184.2.2.6.2
RELENG_7
src/sys/kern/sys_pipe.c 1.191.2.5
RELENG_7_2
src/UPDATING 1.507.2.23.2.4
src/sys/conf/newvers.sh 1.72.2.11.2.5
src/sys/kern/sys_pipe.c 1.191.2.3.4.2
RELENG_7_1
src/UPDATING 1.507.2.13.2.9
src/sys/conf/newvers.sh 1.72.2.9.2.10
src/sys/kern/sys_pipe.c 1.191.2.3.2.2
- -------------------------------------------------------------------------

Subversion:

Branch/path Revision
- -------------------------------------------------------------------------
stable/6/ r193893
releng/6.4/ r193893
releng/6.3/ r193893
stable/7/ r193893
releng/7.2/ r193893
releng/7.1/ r193893
- -------------------------------------------------------------------------

VII. References

The latest revision of this advisory is available at http://security.FreeBSD.org/advisories/ ... 9.pipe.asc
UberGeek
Site Admin
 
Posts: 11
Joined: Sat Mar 14, 2009 12:01 pm

Return to FreeBSD Security Advisories

Who is online

Users browsing this forum: No registered users and 0 guests

cron