Patch "tmpfs: clear S_ISGID when setting posix ACLs" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
tmpfs: clear S_ISGID when setting posix ACLs
to the 4.9-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:
tmpfs-clear-s_isgid-when-setting-posix-acls.patch
and it can be found in the queue-4.9 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
497de07d89c1410d76a15bec2bb41f24a2a89f31Mon Sep 17 00:00:00 2001
From: Gu Zheng <[email protected]>
Date: Mon, 9 Jan 2017 09:34:48 +0800
Subject: tmpfs: clear S_ISGID when setting posix ACLs
From: Gu Zheng <[email protected]>
commit 497de07d89c1410d76a15bec2bb41f24a2a89f31 upstream.
This change was missed the tmpfs modification in In CVE-2016-7097 commit 073931017b49 ("posix_acl: Clear SGID bit when setting file permissions")
It can test by xfstest generic/375, which failed to clear setgid bit in the following test case on tmpfs:
touch $testfile
chown 100:100 $testfile
chmod 2755 $testfile
_runas -u 100 -g 101 -- setfacl -m u::rwx,g::rwx,o::rwx $testfile
--- fs/posix_acl.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
fs/posix_acl.c +4 -5
@@ -922,11 +922,10 @@ int simple_set_acl(struct inode *inode,int error;if (type ==ACL_TYPE_ACCESS ) { - error =posix_acl_equiv_mode (acl, &inode->i_mode); -if (error <0 ) -return 0 ; -if (error ==0 ) - acl =NULL ; + error =posix_acl_update_mode (inode, + &inode->i_mode, &acl); +if (error) +return error; } inode->i_ctime =current_time (inode);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/tmpfs-clear-s_isgid-when-setting-posix-acls.patch