It was found that logrotate utility used insecure default permissions, when creating of new files (time-of-check, time-of-use, TOCTOU race condition). In some specific configurations, a local attacker could use this flaw to open the new file before the final permissions have been applied, leading to disclosure of sensitive information.
Further flaw details from Stefan Fritsch of Debian Security Team: ================================================================== The race is between 192 fd = open(fileName, flags, sb->st_mode); and 198 if (fchmod(fd, (S_IRUSR | S_IWUSR) & sb->st_mode)) { and later 204 if (fchown(fd, sb->st_uid, sb->st_gid)) { An attacker may be able to open the newly created file after line 192, even if he has no permissions to open the file after lines 198 and 204 have been executed. Once he has the open file descriptor, he can read what will be written into the file. No symlink attack is needed.
This has been assigned CVE-2011-1098
Created attachment 485707 [details] proposed patch This patch fixes the issue by creating temp file with umask 0000, then change owner/mode and renames it to log file. Upstream fixed it by use of "su" directive patch described in Bug 680799 Comment 2, but this patch breaks backward compatibility for some configurations. Attached patch is possible workaround which keeps backward compatibility.
Created logrotate tracking bugs for this issue Affects: fedora-all [bug 688520]
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2011:0407 https://rhn.redhat.com/errata/RHSA-2011-0407.html
Statement: The Red Hat Security Response Team has rated this issue as having low security impact, a future update may address this flaw.