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

Re: Multiple vulnerabilities in Blur6ex



The XSS issue in the shard parameter appears to be resultant from a
more serious file inclusion vulnerability.  This is the kind of
diagnosis error that I have mentioned in the past [1].

Notice that the error message shows that it took the "shard" parameter
and directly inserted it into a filename that it then tried to open.
In addition, the "/" is not being filtered - otherwise the </h1> would
not be there:

>Warning: main(): Failed opening 'engine/shards/<h1>just test your
>web</h1>.php'
>for inclusion
>(include_path='.:/usr/lib/php/:/usr/share/pear/') in
>/var/www/html/blur/index.php on line 108


Looking at the source for index.php in blur6ex 0.3.462, we have:

>        $shard = $_REQUEST["shard"];
>...
>               include('engine/shards/' . $shard .'.php');
>...
>            include('engine/shards/' . $shard . '.php');


There is not any apparent cleansing of the $shard variable (based on
grep test).

So, this looks like a directory traversal issue in a PHP include
statement, so arbitrary PHP files might be included and executed using
"../" sequences.  And without any apparent cleansing, it seems likely
that null character injection could be used to access files of any
extension.

NOTE - the errormsg parameter appears to be primary XSS.  From
engine/shards/login.php:

>    case "g_error":
>    $errormsg = $_REQUEST['errormsg'];
>...
>       $thisContentObj->primaryContent = "Error: " . $errormsg;


This is all based on source code inspection only - I have not
installed and tested the product.

- Steve


References:

[1] Mis-diagnosed XSS bugs hiding worse issues due to PHP feature
    Bugtraq, April 1, 2006
    http://marc.theaimsgroup.com/?l=bugtraq&m=114392753509966&w=2