-----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 . 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-----