<<< Date Index >>>     <<< Thread Index >>>

Open Searchable Image Catalogue: XSS and SQL Injection Vulnerabilities



===========================================================
Open Searchable Image Catalogue: XSS and SQL Injection Vulnerabilities
===========================================================
Technical University of Vienna Security Advisory
TUVSA-0605-001, May 30, 2006
===========================================================


Affected applications
----------------------

Open Searchable Image Catalogue (http://cosp.wordpress.com/tag/osic, 
http://sourceforge.net/projects/osic-win)

Versions 0.7 and prior.


Description
------------

There are a number of cross site scripting (XSS) vulnerabilities that are 
caused by the second echo statement in function do_mysql_query (core.php, line 
544). If a database query fails for some reason, the query is reflected back to 
the user. Here are a few points where this situation can be exploited (if 
register_globals is active and if the current user is logged in as admin):

adminfunctions.php, line 531
http://localhost/osic07/admin.php?action=manageusers&username=neweviluser&password=xyz&confpass=xyz&realname='&type=<script>alert('hi')</script>

adminfunctions.php, line 561
http://localhost/osic07/admin.php?action=manageusers&id=777&username=neweviluser&password=xyz&confpass=xyz&realname='&type=<script>alert('hi')</script>

editcatalogue.php, line 523
http://localhost/osic07/admin.php?action=editcatalogue&op=additems&catalogue_id='<script>alert('hi')</script>&uploaded=true&submit=true&AddRemaining=true
[there has to be at least one file with a valid extension in the uploads 
directory]

editcatalogue.php, line 581
http://localhost/osic07/admin.php?action=editcatalogue&op=additems&catalogue_id=777&uploaded=true&submit=true&catalogue_id='<script>alert('hi')</script>

The above vulnerabilities are also SQL Injection vulnerabilities.

Some analogous cases in search.php:

search.php, line 120:
The $query variable can contain malicious user input due to the assignments on 
lines 90-112.

search.php, line 152:
$cf_query is tainted by $cfid, which is tainted by $tempCustomFieldID, which is 
tainted by $HTTP_POST_VARS (line 138).

search.php, lines 243-250:
There are calls to getValueFromID with $item_list as parameter, which can be 
controlled by an attacker.


Solution
---------

The authors have responded to our message quickly and have released version 
0.7.0.1, which fixes the above issues.

Timeline:

March 30, 2006:
- Vulnerabilities reported to Chris Goerner.
- Response and release of fixed version.
- Advisory submission.


References
-----------

http://www.seclab.tuwien.ac.at/advisories/TUVSA-0605-001.txt


Nenad Jovanovic
Secure Systems Lab 
Technical University of Vienna 
www.seclab.tuwien.ac.at