From: "Omid" <omid@hackers.ir.>
To: <bugtraq@securityfocus.com.>
Subject: Sql injection in Xoops
Date: Sat, 26 Aug 2006 01:49:29 +0430
User-Agent: Hackers.ir/1.0
MIME-Version: 1.0
Content-Type: text/plain;charset=utf-8
Content-Transfer-Encoding: 8bit
Importance: Normal
X-Priority: 3 (Normal)
X-Mailer: Hackers.ir/1.0
X-Virus-Scanned: antivirus-gw at tyumen.ru
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