-
- Downloads
BACKPORT: posix_acl: Clear SGID bit when setting file permissions
(cherry pick from commit 073931017b49d9458aa351605b43a7e34598caef) 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. NB: conflicts resolution included extending the change to all visible users of the near deprecated function posix_acl_equiv_mode replaced with posix_acl_update_mode. We did not resolve the ACL leak in this CL, require additional upstream fixes. 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> Bug: 32458736 Change-Id: I19591ad452cc825ac282b3cfd2daaa72aa9a1ac1
Showing
- fs/9p/acl.c 17 additions, 23 deletionsfs/9p/acl.c
- fs/btrfs/acl.c 2 additions, 4 deletionsfs/btrfs/acl.c
- fs/ext2/acl.c 4 additions, 8 deletionsfs/ext2/acl.c
- fs/ext3/acl.c 4 additions, 8 deletionsfs/ext3/acl.c
- fs/ext4/acl.c 4 additions, 8 deletionsfs/ext4/acl.c
- fs/f2fs/acl.c 2 additions, 4 deletionsfs/f2fs/acl.c
- fs/generic_acl.c 2 additions, 6 deletionsfs/generic_acl.c
- fs/gfs2/acl.c 3 additions, 8 deletionsfs/gfs2/acl.c
- fs/jffs2/acl.c 4 additions, 5 deletionsfs/jffs2/acl.c
- fs/jfs/xattr.c 3 additions, 3 deletionsfs/jfs/xattr.c
- fs/ocfs2/acl.c 6 additions, 12 deletionsfs/ocfs2/acl.c
- fs/posix_acl.c 31 additions, 0 deletionsfs/posix_acl.c
- fs/reiserfs/xattr_acl.c 2 additions, 6 deletionsfs/reiserfs/xattr_acl.c
- fs/xfs/xfs_acl.c 3 additions, 10 deletionsfs/xfs/xfs_acl.c
- include/linux/posix_acl.h 1 addition, 0 deletionsinclude/linux/posix_acl.h
Loading
Please register or sign in to comment