patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
159 lines
6.2 KiB
Text
159 lines
6.2 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-10:06.nfsclient Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Unvalidated input in nfsclient
|
|
|
|
Category: core
|
|
Module: nfsclient
|
|
Announced: 2010-05-27
|
|
Credits: Patroklos Argyroudis
|
|
Affects: FreeBSD 7.2 and later.
|
|
Corrected: 2010-05-27 03:15:04 UTC (RELENG_8, 8.1-PRERELEASE)
|
|
2010-05-27 03:15:04 UTC (RELENG_8_0, 8.0-RELEASE-p3)
|
|
2010-05-27 03:15:04 UTC (RELENG_7, 7.3-STABLE)
|
|
2010-05-27 03:15:04 UTC (RELENG_7_3, 7.3-RELEASE-p1)
|
|
2010-05-27 03:15:04 UTC (RELENG_7_2, 7.2-RELEASE-p8)
|
|
CVE Name: CVE-2010-2020
|
|
|
|
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
|
|
|
|
The Network File System (NFS) allows a host to export some or all of its
|
|
file systems so that other hosts can access them over the network and mount
|
|
them as if they were on local disks. FreeBSD includes server and client
|
|
implementations of NFS.
|
|
|
|
II. Problem Description
|
|
|
|
The NFS client subsystem fails to correctly validate the length of a
|
|
parameter provided by the user when a filesystem is mounted.
|
|
|
|
III. Impact
|
|
|
|
A user who can mount filesystems can execute arbitrary code in the kernel.
|
|
On systems where the non-default vfs.usermount feature has been enabled,
|
|
unprivileged users may be able to gain superuser ("root") privileges.
|
|
|
|
IV. Workaround
|
|
|
|
Do not allow untrusted users to mount filesystems. To prevent unprivileged
|
|
users from mounting filesystems, set the vfs.usermount sysctl variable to
|
|
zero:
|
|
|
|
# sysctl vfs.usermount=0
|
|
|
|
Note that the default value of this variable is zero, i.e., FreeBSD is not
|
|
affected by this vulnerability in its default configuration, and FreeBSD
|
|
system administrators are strongly encouraged not to change this setting.
|
|
|
|
V. Solution
|
|
|
|
NOTE WELL: Even with this fix allowing users to mount arbitrary media
|
|
should not be considered safe. Most of the file systems in FreeBSD were
|
|
not built to protect safeguard against malicious devices. While such bugs
|
|
in file systems are fixed when found, a complete audit has not been
|
|
perfomed on the file system code.
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 7-STABLE or 8-STABLE, or to the
|
|
RELENG_8_0, RELENG_7_3, or RELENG_7_2 security branch dated after the
|
|
correction date.
|
|
|
|
2) To update your vulnerable system via a source code patch:
|
|
|
|
The following patches have been verified to apply to FreeBSD 7.2, 7.3
|
|
and 8.0 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-10:06/nfsclient.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-10:06/nfsclient.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.
|
|
|
|
3) To update your vulnerable system via a binary patch:
|
|
|
|
Systems running 7.2-RELEASE, 7.3-RELEASE, or 8.0-RELEASE on the i386 or
|
|
amd64 platforms can be updated via the freebsd-update(8) utility:
|
|
|
|
# freebsd-update fetch
|
|
# freebsd-update install
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the revision numbers of each file that was
|
|
corrected in FreeBSD.
|
|
|
|
CVS:
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_7
|
|
src/sys/nfsclient/nfs_vfsops.c 1.193.2.7
|
|
src/lib/libc/sys/mount.2 1.45.2.1
|
|
RELENG_7_3
|
|
src/UPDATING 1.507.2.34.2.3
|
|
src/sys/conf/newvers.sh 1.72.2.16.2.5
|
|
src/sys/nfsclient/nfs_vfsops.c 1.193.2.5.4.2
|
|
src/lib/libc/sys/mount.2 1.45.12.2
|
|
RELENG_7_2
|
|
src/UPDATING 1.507.2.23.2.11
|
|
src/sys/conf/newvers.sh 1.72.2.11.2.12
|
|
src/sys/nfsclient/nfs_vfsops.c 1.193.2.5.2.2
|
|
src/lib/libc/sys/mount.2 1.45.8.2
|
|
RELENG_8
|
|
src/sys/nfsclient/nfs_vfsops.c 1.226.2.7
|
|
src/lib/libc/sys/mount.2 1.45.10.2
|
|
RELENG_8_0
|
|
src/UPDATING 1.632.2.7.2.6
|
|
src/sys/conf/newvers.sh 1.83.2.6.2.6
|
|
src/sys/nfsclient/nfs_vfsops.c 1.226.2.2.2.2
|
|
src/lib/libc/sys/mount.2 1.45.10.1.2.2
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/6/ r208586
|
|
releng/6.4/ r208586
|
|
stable/7/ r208586
|
|
releng/7.3/ r208586
|
|
releng/7.2/ r208586
|
|
releng/7.1/ r208586
|
|
stable/8/ r208586
|
|
releng/8.0/ r208586
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2020
|
|
|
|
http://census-labs.com/news/2010/05/26/freebsd-kernel-nfsclient/
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-10:06.nfsclient.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.10 (FreeBSD)
|
|
|
|
iEYEARECAAYFAkv95SUACgkQFdaIBMps37Km5gCdG4RNPkwuDsx05w3CfwLd/aM1
|
|
NusAn0dzFUcuGlMgNb9V43yUFVFa+NbX
|
|
=zMAI
|
|
-----END PGP SIGNATURE-----
|