Hardlink and symlink restrictions in Fedora
A long-standing class of security issues is the link-based time-of-check-time-of-use race, most commonly seen in world-writable directories like /tmp. The common method of exploitation of this flaw is to cross privilege boundaries when following a given link (i.e. a root process follows a link belonging to another user). In Fedora 19, we permit links to only be followed when outside a sticky world-writable directory, or when the uid of the link and follower match, or when the directory owner matches the link's owner. In previous releases, this was only enforced by SELinux policy and hence the protection would not be in place by default for users who have disabled SELinux. In this release, we have enabled this protection for everyone via the following sysctl settings in /usr/lib/sysctl.d/00-system.conf
fs.protected_hardlinks = 1 fs.protected_symlinks = 1
Refer to http://lwn.net/Articles/503660/ and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7 for more detailed information.