Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1480dcc authored by Andy Lutomirski's avatar Andy Lutomirski
Browse files

fs: Add a missing permission check to do_umount



Accessing do_remount_sb should require global CAP_SYS_ADMIN, but
only one of the two call sites was appropriately protected.

Fixes CVE-2014-7975.

Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
parent bfe01a5b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1356,6 +1356,8 @@ static int do_umount(struct mount *mnt, int flags)
		 * Special case for "unmounting" root ...
		 * we just try to remount it readonly.
		 */
		if (!capable(CAP_SYS_ADMIN))
			return -EPERM;
		down_write(&sb->s_umount);
		if (!(sb->s_flags & MS_RDONLY))
			retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);