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 like 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

The following command will list which files on the system have file hashes different from what is expected by the RPM database:

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

If there is output, this is a finding.

Fix

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:

$ 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 reinstall gzip
[...]
$ rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"'
[no output]