RHEL 9 must be configured so that the cryptographic hashes of system files match vendor values.

STIG ID: RHEL-09-214030  |  SRG: SRG-OS-000480-GPOS-00227 |  Severity: medium |  CCI: CCI-000366 |  Vulnerability Id: V-257823

Vulnerability Discussion

The hashes of important files such as system executables should match the information given by the RPM database. Executables with erroneous hashes could be a sign of nefarious activity on the system.

Check

Verify that RHEL 9 is configured so that the cryptographic hashes of system files match vendor values.

List files on the system that have file hashes different from what is expected by the RPM database with the following command:

$ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"'

If there is output, this is a finding.

Fix

Configure RHEL 9 so that the cryptographic hashes of system files match vendor values.

Given output from the check command, identify the package that provides the output and reinstall it. The following trimmed example output shows a package that has failed verification, been identified, and been reinstalled:

$ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"'
S.5....T. /usr/bin/znew

$ sudo dnf provides /usr/bin/znew
[...]
gzip-1.10-8.el9.x86_64 : The GNU data compression program
[...]

$ sudo dnf -y reinstall gzip
[...]

$ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"'
[no output]