Vulnerability Discussion
By enabling the fs.protected_symlinks kernel parameter, symbolic links are permitted to be followed only when outside a sticky world-writable directory, or when the user identifier (UID) of the link and follower match, or when the directory owner matches the symlink's owner.
Disallowing such symlinks helps mitigate vulnerabilities based on unsecure file systems accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat().
Check
Verify AlmaLinux OS 9 is configured to enable DAC on symlinks with the following command:
$ sysctl fs.protected_symlinks
fs.protected_symlinks = 1
If "fs.protected_symlinks " is not set to "1" or is missing, this is a finding.
Check that the configuration files are present to enable this kernel parameter:
$ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F fs.protected_symlinks | tail -1
fs.protected_symlinks = 1
If "fs.protected_symlinks" is not set to "1" or is missing, this is a finding.
Fix
Configure AlmaLinux OS 9 to enable DAC on symlinks with the following command:
$ echo "fs.protected_symlinks = 1" > /etc/sysctl.d/60-symlinks.conf
Load settings from all system configuration files with the following command:
$ sysctl --system