It was reported that rsyslogd creates log files world-readable, which might lead to an information disclosure.
I'm wondering how to go about fixing this one... The base line is to change the default umask for newly created files. But that doesn't take care of already existing log files - logrotate recreates the file before rsyslog gets a chance to do it. I'm unconvinced we should hard reset files to the right umask in the updated package. The current way of setting couple of umasks during packages install and relying on logrotate to always preserve them on file rotation is extremely fragile. If a file goes missing once for whatever reason, the umask is reset to the service default.
Can't we simply add "create 0600 root root" in /etc/logrotate.d/syslog, add the /var/log/cron to the %post of rsyslog and finally add a chmod 600 for the /var/log/{messages,secure,maillog,spooler,cron}* files in %post as well?
Mitigation: Please add: create 0600 root root to the /etc/logrotate.d/syslog file, this will ensure the file is created with permissions when logrotate runs. It is also recommended that users manually set the permissions on existing or newly installed log files in order to prevent access by untrusted users.
Statement: This issue affects the versions of rsyslog as shipped with Red Hat Enterprise Linux 7. Red Hat Product Security has rated this issue as having Low security impact. A future update may address this issue. For additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/. Additionally a workaround is available (https://bugzilla.redhat.com/show_bug.cgi?id=1232826#c3).