Jan Kara 57c9cfdb61 posix_acl: Clear SGID bit when setting file permissions
commit 073931017b49d9458aa351605b43a7e34598caef upstream.

When file permissions are modified via chmod(2) and the user is not in
the owning group or capable of CAP_FSETID, the setgid bit is cleared in
inode_change_ok().  Setting a POSIX ACL via setxattr(2) sets the file
permissions as well as the new ACL, but doesn't clear the setgid bit in
a similar way; this allows to bypass the check in chmod(2).  Fix that.

References: CVE-2016-7097
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-31 04:13:58 -06:00
..
2015-07-09 11:42:21 -07:00
2013-06-29 12:56:42 +04:00
2013-06-05 14:47:19 -05:00
2013-06-05 14:47:19 -05:00
2011-03-31 11:26:23 -03:00
2010-08-09 11:25:17 +02:00
2013-06-05 14:47:19 -05:00
2013-06-05 14:47:19 -05:00
2013-06-05 14:47:19 -05:00
2015-05-10 22:18:26 -04:00