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)
150 lines
5.6 KiB
Text
150 lines
5.6 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-11:01.mountd Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Network ACL mishandling in mountd(8)
|
|
|
|
Category: core
|
|
Module: mountd
|
|
Announced: 2011-04-20
|
|
Credits: Ruslan Ermilov
|
|
Affects: All supported versions of FreeBSD
|
|
Corrected: 2011-04-20 21:00:24 UTC (RELENG_7, 7.4-STABLE)
|
|
2011-04-20 21:00:24 UTC (RELENG_7_3, 7.3-RELEASE-p5)
|
|
2011-04-20 21:00:24 UTC (RELENG_7_4, 7.4-RELEASE-p1)
|
|
2011-04-20 21:00:24 UTC (RELENG_8, 8.2-STABLE)
|
|
2011-04-20 21:00:24 UTC (RELENG_8_1, 8.1-RELEASE-p3)
|
|
2011-04-20 21:00:24 UTC (RELENG_8_2, 8.2-RELEASE-p1)
|
|
CVE Name: CVE-2011-1739
|
|
|
|
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 mountd(8) daemon services NFS mount requests from other client
|
|
machines. When mountd is started, it loads the export host addresses
|
|
and options into the kernel using the mount(2) system call.
|
|
|
|
II. Problem Description
|
|
|
|
While parsing the exports(5) table, a network mask in the form of
|
|
"-network=netname/prefixlength" results in an incorrect network mask
|
|
being computed if the prefix length is not a multiple of 8.
|
|
|
|
For example, specifying the ACL for an export as "-network 192.0.2.0/23"
|
|
would result in a netmask of 255.255.127.0 being used instead of the
|
|
correct netmask of 255.255.254.0.
|
|
|
|
III. Impact
|
|
|
|
When using a prefix length which is not multiple of 8, access would be
|
|
granted to the wrong client systems.
|
|
|
|
IV. Workaround
|
|
|
|
For IPv4-only systems, using the -netmask option instead of CIDR notion
|
|
for -network circumvents this bug.
|
|
|
|
A firewall such as pf(4) can (and probably should) be used to restrict
|
|
access to the NFS server.
|
|
|
|
Systems not providing NFS service, or using a prefix length which is a
|
|
multiple of 8 in all ACLs, are not affected.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 7-STABLE or 8-STABLE, or to the
|
|
RELENG_8_2, RELENG_8_1, RELENG_7_4, RELENG_7_3 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.3, 7.4,
|
|
8.1 and 8.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-11:01/mountd.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-11:01/mountd.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/usr.sbin/mountd
|
|
# make obj && make depend && make && make install
|
|
|
|
3) To update your vulnerable system via a binary patch:
|
|
|
|
Systems running 7.3-RELEASE, 7.4-RELEASE, 8.1-RELEASE or 8.2-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/usr.sbin/mountd/mountd.c 1.94.2.3
|
|
RELENG_7_4
|
|
src/UPDATING 1.507.2.36.2.3
|
|
src/sys/conf/newvers.sh 1.72.2.18.2.6
|
|
src/usr.sbin/mountd/mountd.c 1.94.2.2.8.2
|
|
RELENG_7_3
|
|
src/UPDATING 1.507.2.34.2.7
|
|
src/sys/conf/newvers.sh 1.72.2.16.2.9
|
|
src/usr.sbin/mountd/mountd.c 1.94.2.2.6.2
|
|
RELENG_8
|
|
src/usr.sbin/mountd/mountd.c 1.105.2.3
|
|
RELENG_8_2
|
|
src/UPDATING 1.632.2.19.2.3
|
|
src/sys/conf/newvers.sh 1.83.2.12.2.6
|
|
src/usr.sbin/mountd/mountd.c 1.105.2.2.4.2
|
|
RELENG_8_1
|
|
src/UPDATING 1.632.2.14.2.6
|
|
src/sys/conf/newvers.sh 1.83.2.10.2.7
|
|
src/usr.sbin/mountd/mountd.c 1.105.2.2.2.2
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/7/ r220901
|
|
releng/7.3/ r220901
|
|
releng/7.4/ r220901
|
|
stable/8/ r220901
|
|
releng/8.1/ r220901
|
|
releng/8.2/ r220901
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1739
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-11:01.mountd.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.11 (FreeBSD)
|
|
|
|
iEYEARECAAYFAk2vSjwACgkQFdaIBMps37J91ACfbj6PbStDVBISUx/jC8/3n0uS
|
|
+oUAnj9TdPvwezLnrej/XMahWlHQHK1N
|
|
=Hv1Y
|
|
-----END PGP SIGNATURE-----
|