Patch "CIFS: fix type confusion in copy offload ioctl" has been added to the 3.14-stable tree
This is a note to let you know that I've just added the patch titled
CIFS: fix type confusion in copy offload ioctl
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
cifs-fix-type-confusion-in-copy-offload-ioctl.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4c17a6d56bb0cad3066a714e94f7185a24b40f49Mon Sep 17 00:00:00 2001
From: Jann Horn <[email protected]>
Date: Fri, 11 Sep 2015 16:27:27 +0200
Subject: CIFS: fix type confusion in copy offload ioctl
From: Jann Horn <[email protected]>
commit 4c17a6d56bb0cad3066a714e94f7185a24b40f49 upstream.
This might lead to local privilege escalation (code execution as kernel) for systems where the following conditions are met:
- CONFIG_CIFS_SMB2 and CONFIG_CIFS_POSIX are enabled
- a cifs filesystem is mounted where:
- the mount option "vers" was used and set to a value >=2.0
- the attacker has write access to at least one file on the filesystem
To attack this, an attacker would have to guess the target_tcon pointer (but guessing wrong doesn't cause a crash, it just returns an error code) and win a narrow race.
--- fs/cifs/ioctl.c | 6 ++++++ 1 file changed, 6 insertions(+)
fs/cifs/ioctl.c +6 -0
@@ -67,6 +67,12 @@ static long cifs_ioctl_clone(unsigned in goto out_drop_write; } +if (src_file.file->f_op->unlocked_ioctl != cifs_ioctl) { + rc = -EBADF ; +cifs_dbg (VFS ,"src file seems to be from a different filesystem type\n" ); + goto out_fput; + } +if ((!src_file.file->private_data) || (!dst_file->private_data)) { rc = -EBADF ;cifs_dbg (VFS ,"missing cifsFileInfo on copy range src file\n" );
Patches currently in stable-queue which might be from [email protected] are
queue-3.14/cifs-fix-type-confusion-in-copy-offload-ioctl.patch