-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-05:08.kmem Security Advisory
The FreeBSD Project
Topic: Local kernel memory disclosure
Category: core
Module: sys
Announced: 2005-05-06
Credits: Christian S.J. Peron
Uwe Doering
Affects: All FreeBSD releases prior to 5.4-RELEASE
Corrected: 2005-05-08 10:19:37 UTC (RELENG_5, 5.4-STABLE)
2005-05-07 03:58:26 UTC (RELENG_5_4, 5.4-RELEASE)
2005-05-08 10:23:52 UTC (RELENG_5_3, 5.3-RELEASE-p14)
2005-05-08 10:26:42 UTC (RELENG_4, 4.11-STABLE)
2005-05-08 10:29:54 UTC (RELENG_4_11, 4.11-RELEASE-p8)
2005-05-08 10:35:56 UTC (RELENG_4_10, 4.10-RELEASE-p13)
CVE Name: CAN-2005-1406
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
.
0. Revision History
v1.0 2005-05-06 Initial release.
v1.1 2005-05-07 Updated patch to include related issues reported by
Uwe Doering.
I. Background
In many parts of the FreeBSD kernel, names (of mount points, devices,
files, etc.) are manipulated as NULL-terminated strings, but are provided
to applications within fixed-length buffers.
II. Problem Description
In several places, variable-length strings were copied into fixed-length
buffers without zeroing the unused portion of the buffer.
III. Impact
The previous contents of part of the fixed-length buffers will be
disclosed to applications. Such memory might contain sensitive
information, such as portions of the file cache or terminal buffers.
This information might be directly useful, or it might be leveraged to
obtain elevated privileges in some way. For example, a terminal buffer
might include a user-entered password.
IV. Workaround
No workaround is available.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 4-STABLE or 5-STABLE, or to the
RELENG_5_3, RELENG_4_11, or RELENG_4_10 security branch dated after
the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 4.10,
4.11, and 5.3 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
[FreeBSD 4.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:08/kmem4x.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:08/kmem4x.patch.asc
[FreeBSD 5.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:08/kmem5x.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:08/kmem5x.patch.asc
b) Apply the patch.
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
and reboot the
system.
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_4
src/sys/kern/uipc_usrreq.c 1.54.2.11
src/sys/kern/vfs_subr.c 1.249.2.32
src/sys/net/if_mib.c 1.8.2.3
src/sys/netinet/ip_divert.c 1.42.2.8
src/sys/netinet/raw_ip.c 1.64.2.20
src/sys/netinet/tcp_subr.c 1.73.2.34
src/sys/netinet/udp_usrreq.c 1.64.2.20
RELENG_4_11
src/UPDATING 1.72.2.91.2.9
src/sys/conf/newvers.sh 1.44.2.39.2.12
src/sys/kern/uipc_usrreq.c 1.54.2.10.8.1
src/sys/kern/vfs_subr.c 1.249.2.31.6.1
src/sys/net/if_mib.c 1.8.2.2.2.1
src/sys/netinet/ip_divert.c 1.42.2.7.2.1
src/sys/netinet/raw_ip.c 1.64.2.19.2.1
src/sys/netinet/tcp_subr.c 1.73.2.33.4.1
src/sys/netinet/udp_usrreq.c 1.64.2.19.6.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.14
src/sys/conf/newvers.sh 1.44.2.34.2.15
src/sys/kern/uipc_usrreq.c 1.54.2.10.6.1
src/sys/kern/vfs_subr.c 1.249.2.31.4.1
src/sys/net/if_mib.c 1.8.2.1.16.2
src/sys/netinet/ip_divert.c 1.42.2.6.6.1
src/sys/netinet/raw_ip.c 1.64.2.18.4.1
src/sys/netinet/tcp_subr.c 1.73.2.33.2.1
src/sys/netinet/udp_usrreq.c 1.64.2.19.4.1
RELENG_5
src/sys/kern/subr_bus.c 1.156.2.7
src/sys/kern/uipc_usrreq.c 1.138.2.14
src/sys/kern/vfs_subr.c 1.522.2.5
src/sys/net/if_mib.c 1.13.4.2
src/sys/netinet/ip_divert.c 1.98.2.3
src/sys/netinet/raw_ip.c 1.142.2.5
src/sys/netinet/tcp_subr.c 1.201.2.18
src/sys/netinet/udp_usrreq.c 1.162.2.8
RELENG_5_4
src/UPDATING 1.342.2.24.2.9
src/sys/kern/subr_bus.c 1.156.2.5.2.1
src/sys/kern/uipc_usrreq.c 1.138.2.13.2.1
src/sys/kern/vfs_subr.c 1.522.2.4.2.1
src/sys/net/if_mib.c 1.13.4.1.2.1
src/sys/netinet/ip_divert.c 1.98.2.2.2.1
src/sys/netinet/raw_ip.c 1.142.2.4.2.1
src/sys/netinet/tcp_subr.c 1.201.2.15.2.1
src/sys/netinet/udp_usrreq.c 1.162.2.7.2.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.17
src/sys/conf/newvers.sh 1.62.2.15.2.19
src/sys/kern/subr_bus.c 1.156.2.2.2.1
src/sys/kern/uipc_usrreq.c 1.138.2.2.2.2
src/sys/kern/vfs_subr.c 1.522.2.1.2.1
src/sys/net/if_mib.c 1.13.6.1
src/sys/netinet/ip_divert.c 1.98.4.1
src/sys/netinet/raw_ip.c 1.142.2.2.2.1
src/sys/netinet/tcp_subr.c 1.201.2.1.2.2
src/sys/netinet/udp_usrreq.c 1.162.2.3.2.1
- -------------------------------------------------------------------------
The latest revision of this advisory is available at
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:08.kmem.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)
iD8DBQFCfe9TFdaIBMps37IRAoANAJ9SvXgbD8c2Pw4akOWba95PklG1NgCeOPce
Ib7DiBQuu7LR2ZG70BP+eKQ=
=8wrv
-----END PGP SIGNATURE-----