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

Sql injection in Xoops



Hi,
There is a sql injection in Xoops 2.0.14 (and maybe before versions) .
One of the user inputs, is used in the sql query without proper checking :

File /edituser.php, Line 347 :
::     if (!empty($_POST['user_avatar'])) {
>>         $user_avatar = trim($_POST['user_avatar']);
::         $criteria_avatar = new CriteriaCompo(new Criteria('avatar_file', 
$user_avatar));
::         $criteria_avatar->add(new Criteria('avatar_type', "S"));
::         $avatars =& $avt_handler->getObjects($criteria_avatar);
::         if (!is_array($avatars) || !count($avatars)) {
::              $user_avatar = 'blank.gif';
::         }

The bug can be critical, so no more info .

You can upgrade to 2.0.15 .
Also, a simple solution is to change line 348 of /edituser.php, to :
        $user_avatar = addslashes(trim($_POST['user_avatar']));

The original advisory (in Persian), is located at :
http://www.hackers.ir/advisories/xoops.html


- Omid