Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Sep 2008 00:14:26 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        freebsd-security@freebsd.org
Subject:   Re: FreeBSD Security Advisory FreeBSD-SA-08:08.nmount
Message-ID:  <alpine.BSF.1.10.0809040012580.74719@fledge.watson.org>
In-Reply-To: <200809032013.m83KDDMv043940@freefall.freebsd.org>
References:  <200809032013.m83KDDMv043940@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 3 Sep 2008, FreeBSD Security Advisories wrote:

> The mount(2) and nmount(2) system calls are used by various utilities in the 
> base system to graft a file system object on to the file system tree to a 
> given mount point.  It is possible to allow unprivileged users to utililize 
> these system calls by setting the vfs.usermount sysctl(8) variable.

Note that as-shipped by the FreeBSD Project, vfs.usermount is *disabled* in 
FreeBSD.  This may not be the case in rebundled or derived systems, however. 
You can check whether it is enabled using "sysctl vfs.usermount" -- if the 
result is "0" then you should be fine.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> II.  Problem Description
>
> Various user defined input such as mount points, devices, and mount
> options are prepared and passed as arguments to nmount(2) into the
> kernel.  Under certain error conditions, user defined data will be
> copied into a stack allocated buffer stored in the kernel without
> sufficient bounds checking.
>
> III. Impact
>
> If the system is configured to allow unprivileged users to mount file
> systems, it is possible for a local adversary to exploit this
> vulnerability and execute code in the context of the kernel.
>
> IV.  Workaround
>
> It is possible to work around this issue by allowing only privileged
> users to mount file systems by running the following sysctl(8)
> command:
>
> # sysctl vfs.usermount=0
>
> 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
> was 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 to the RELENG_7_0
> security branch dated after the correction date.
>
> 2) To patch your present system:
>
> The following patches have been verified to apply to FreeBSD 7.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-08:08/nmount.patch
> # fetch http://security.FreeBSD.org/patches/SA-08:08/nmount.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.
>
> Branch                                                           Revision
>  Path
> - -------------------------------------------------------------------------
> RELENG_7
>  src/sys/kern/vfs_mount.c                                     1.265.2.10
> RELENG_7_0
>  src/UPDATING                                              1.507.2.3.2.8
>  src/sys/conf/newvers.sh                                    1.72.2.5.2.8
>  src/sys/kern/vfs_mount.c                                  1.265.2.1.2.2
> - -------------------------------------------------------------------------
>
> VII. References
>
> http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3531
>
> The latest revision of this advisory is available at
> http://security.FreeBSD.org/advisories/FreeBSD-SA-08:08.nmount.asc
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (FreeBSD)
>
> iD8DBQFIvu2eFdaIBMps37IRAl9BAJ9Jnp+agN06pBkzPDwEnOT83MNd6QCghOFX
> yvNI1gVmhAQ7MXOUvPoLcLk=
> =EsCn
> -----END PGP SIGNATURE-----
> _______________________________________________
> freebsd-security@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-security
> To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.1.10.0809040012580.74719>