RHEL-10-701080 RHEL 10 must enable kernel parameters to enforce discretionary access control (DAC) on symlinks.
All changes in this version
Maps to AC-3(4), AC-6(10) via CCI-002165, CCI-002235
Title
RHEL 10 must enable kernel parameters to enforce discretionary access control (DAC) on symlinks.
Control
Verify RHEL 10 is configured to enable DAC on symlinks. Check the status of the "fs.protected_symlinks" kernel parameter with the following command: $ sudo sysctl fs.protected_symlinks fs.protected_symlinks = 1 If "fs.protected_symlinks" is not set to "1" or is missing, this is a finding.
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 insecure file systems accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000324-GPOS-00125
Related controls
CCI-002165, CCI-002235
Fix
Configure RHEL 10 to enable DAC on symlinks with the following: Create a drop-in if it does not already exist: $ sudo vi /etc/sysctl.d/99-fs_protected_symlinks.conf Add the following to the file: fs.protected_symlinks = 1 Reload settings from all system configuration files with the following command: $ sudo sysctl --system