Enomaly ECP/Enomalism: Multiple vulnerabilities in enomalism2.sh (redux)
All versions of Enomaly ECP/Enomalism before 2.2.1 have multiple issues
relating to the use of temporary files in an insecure manner.
Fixes for CVE-2008-4990 and CVE-2009-0390 in 2.1.1 and 2.2 were found
to be ineffective.
Enomaly ECP (formerly Enomalism) is management software for virtual machines.
Sam Johnston of Australian Online Solutions reported multiple
vulnerabilities in enomalism2.sh:
- Race condition on $PIDFILE renders 2.1.1 fixes ineffective
- Incomplete fixes in 2.1.1/2.2 fail to address stop/restart functions
- Root ownership check (ls -l $PIDFILE |grep root) is trivially bypassed by:
- changing the symlink's group to one containing the word 'root' or
- creating a symlink to any filename containing the word 'root'
- Process check (ps -p $PID |grep enomalism2d) is also trivially bypassed.
A local attacker could perform a symlink attack to overwrite arbitrary files
on the system with root privileges, inject arguments to the 'kill' command
to terminate or send arbitrary signals to any process(es) as root or launch
a denial of service attack by preventing the virtual machines from starting.
a. while true; do ln -s /etc/passwd /tmp/enomalism2.pid; done
b. echo "-9 1" > /tmp/enomalism2.pid
c. i. ln -s /tmp/root /tmp/enomalism2.pid
ii. chgrp beetroot /tmp/enomalism2.pid
Change PIDFILE from /tmp/enomalism2.pid to /var/run/enomalism2.pid
All Enomaly ECP and Enomalism users should upgrade to version 2.2.1 which
includes researcher fix.
2009-02-09 Bug initially reported to Enomaly by mail
2009-02-09 CVE(s) requested from Mitre; TBA
2009-02-09 Product Development Manager acknowledged receipt.
"Thanks, we're incorporating a fix for the next release."
2009-02-10 Update announced with no mention of security vulnerability:
"ECP 2.2.1 is now available on both sourceforge and pypi. This is a
bug-fix release. No new features have been added."
2009-02-14 Publication of vulnerability