Vulnerability Discussion
Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon.
Check
Verify the local initialization files of all local interactive users are owned by that user.
Check the home directory assignment for all nonprivileged users on the system with the following command:
Note: The example will be for the smithj user, who has a home directory of "/home/smithj".
# awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd
smithj 1000 /home/smithj
Note: This may miss interactive users that have been assigned a privileged User Identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information.
Check the owner of all local interactive users' initialization files with the following command:
# ls -al /home/smithj/.[^.]* | more
-rw-------. 1 smithj users 2984 Apr 27 19:02 .bash_history
-rw-r--r--. 1 smithj users 18 Aug 21 2019 .bash_logout
-rw-r--r--. 1 smithj users 193 Aug 21 2019 .bash_profile
If all local interactive users' initialization files are not owned by that user or root, this is a finding.
Fix
Set the owner of the local initialization files for interactive users to either the directory owner or root with the following command:
Note: The example will be for the smithj user, who has a home directory of "/home/smithj".
# chown smithj /home/smithj/.[^.]*