From mrg@ETERNA.COM.AU Fri Mar 19 21:50:20 1999 From: matthew green To: BUGTRAQ@netspace.org Date: Thu, 18 Mar 1999 21:27:39 +1100 Subject: NetBSD Security Advisory 1999-007 -----BEGIN PGP SIGNED MESSAGE----- NetBSD Security Advisory 1999-007 ================================= Topic: noexec mount flag is not properly handled by non-root mount Version: NetBSD 1.3.3 and prior; NetBSD-current until 19990318 Severity: Local users can execute binaries they're not allowed to Abstract ======== On a system where all partitions writable by regular users are mounted with the `noexec' option, a regular user should not be able to execute a binary which was not put on the system by the administrator. Insufficient checks in the mount system call may allow a regular user to mount a device, remote host or local directory without the `noexec' option, allowing them to execute arbitrary binaries. Technical Details ================= The mount syscall does not require root privileges, it only requires that the user has read access to the target and is owner of the mount point. For such mounts, the `nosuid' and `nodev' flags, which disable set-id executables and device special files respectively, are automatically handled by the mount system call, but not the `noexec' flag, which disables the ability to execute binaries on this partition. This allows a regular user to perform a mount on a mount point he owns, and then execute binaries from this mount point, even if the mount point was initially in a sub-tree of the global filesystem mounted with the `noexec' option. The easiest way to bypass a `noexec' restriction is to use a nullfs mount, but a NFS mount, or a mount from a readable block device can allow it as well. Solutions and Workarounds ========================= A patch is available for the NetBSD 1.3.3 which makes the mount system call inherit the `noexec' flag from the mount point. You may find this patch on the NetBSD ftp server: ftp://ftp.NetBSD.ORG/pub/NetBSD/misc/security/patches/19990317-mount NetBSD-current since 19990318 is not vulnerable. Users of NetBSD-current should upgrade to a source tree later than 19990318. Thanks To ========= Manuel Bouyer for the solution. Revision History ================ 1999/03/17 - initial version More Information ================ Information about NetBSD and NetBSD security can be found at http://www.NetBSD.ORG/ and http://www.NetBSD.ORG/Security/. Copyright 1999, The NetBSD Foundation, Inc. All Rights Reserved. $NetBSD: NetBSD-SA1999-007.txt,v 1.1 1999/03/18 07:35:55 mrg Exp $ -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: noconv iQCVAwUBNvCxMz5Ru2/4N2IFAQFWkAQAlHWahlMRPWuribmek9zc/incJeGi8OWj TxxZY2OPMPluEkmOT30xsGtpNZWKaDUv8g1q6X3KBnYsZFonS5RW/AhClSha5nCL Kx4GiG/9KNK07a06F0G+WjxOrAXSSvh0UyxLbn6E7VJa7/g8h2Uk3osG5SNMkuvj qTfmCofhnKI= =TH30 -----END PGP SIGNATURE-----