Skip to content

Commit

Permalink
Merge pull request #290 from jrossi/stable
Browse files Browse the repository at this point in the history
Fix for CVE-2014-5284 which allows for root escalation via temp files
  • Loading branch information
jrossi committed Sep 9, 2014
2 parents 77bde77 + b4c42b1 commit 5753d61
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions active-response/host-deny.sh
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,18 @@ if [ "x${ACTION}" = "xadd" ]; then
# Deleting from hosts.deny
elif [ "x${ACTION}" = "xdelete" ]; then
lock;
TMP_FILE = `mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
if [ "X${TMP_FILE}" = "X" ]; then
# Cheap fake tmpfile, but should be harder then no random data
TMP_FILE = "/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
fi
if [ "X$UNAME" = "XFreeBSD" ]; then
cat /etc/hosts.allow | grep -v "ALL : ${IP} : deny$"> /tmp/hosts.deny.$$
mv /tmp/hosts.deny.$$ /etc/hosts.allow
cat /etc/hosts.allow | grep -v "ALL : ${IP} : deny$"> ${TMP_FILE}
mv ${TMP_FILE} /etc/hosts.allow
else
cat /etc/hosts.deny | grep -v "ALL:${IP}$"> /tmp/hosts.deny.$$
cat /tmp/hosts.deny.$$ > /etc/hosts.deny
rm /tmp/hosts.deny.$$
cat /etc/hosts.deny | grep -v "ALL:${IP}$"> ${TMP_FILE}
cat ${TMP_FILE} > /etc/hosts.deny
rm ${TMP_FILE}
fi
unlock;
exit 0;
Expand Down

0 comments on commit 5753d61

Please sign in to comment.