Vulnerability Discussion
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to reuse their password consecutively when that password has exceeded its defined lifetime, the end result is a password that is not changed per policy requirements.
RHEL 9 uses "pwhistory" consecutively as a mechanism to prohibit password reuse. This is set in both:
/etc/pam.d/password-auth
/etc/pam.d/system-auth
Note that manual changes to the listed files may be overwritten by the "authselect" program.
Check
Verify RHEL 9 is configured in the system-auth file to prohibit password reuse for a minimum of five generations with the following command:
$ grep -i remember /etc/pam.d/system-auth
password required pam_pwhistory.so use_authtok remember=5 retry=3
If the line containing "pam_pwhistory.so" does not have the "remember" module argument set, is commented out, or the value of the "remember" module argument is set to less than "5", this is a finding.
Fix
Configure the RHEL 9 system-auth file to prohibit password reuse for a minimum of five generations.
Add the following line in "/etc/pam.d/system-auth" (or modify the line to have the required value):
password required pam_pwhistory.so use_authtok remember=5 retry=3