RHEL 10 must enable kernel parameters to enforce discretionary access control (DAC) on hardlinks.

STIG ID: RHEL-10-701070  |  SRG: SRG-OS-000312-GPOS-00122 |  Severity: medium (CAT II)  |  CCI: CCI-002165,CCI-002235 |  Vulnerability Id: V-281309

Vulnerability Discussion

By enabling the "fs.protected_hardlinks" kernel parameter, users can no longer create soft or hard links to files they do not own. Disallowing such hardlinks mitigates 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

Check

Verify RHEL 10 is configured to enable DAC on hardlinks.

Check the status of the "fs.protected_hardlinks" kernel parameter with the following command:

$ sudo sysctl fs.protected_hardlinks
fs.protected_hardlinks = 1

If "fs.protected_hardlinks" is not set to "1" or is missing, this is a finding.

Fix

Configure RHEL 10 to enable DAC on hardlinks.

Create a drop-in if it does not already exist:

$ sudo vi /etc/sysctl.d/99-fs_protected_hardlinks.conf

Add the following to the file:

fs.protected_hardlinks = 1

Reload settings from all system configuration files with the following command:

$ sudo sysctl --system