Alerte de sécurité : Faille dans le module MyAds

Date 02/07/2006 | Sujet : Modules

zone-h.fr:
Avis de sécurité ZHFR-1432
Date de publication: 29/06/2006

Vulnérabilité: Injection SQL
Impact: Manipulation de données
D'où: A distance
Risque: Moyen
Solution: Aucun correctif
SE: Tous
Produit: MyAds (module pour Xoops)
Versions affectées: 2.x

Détails:
KeyCoder a identifié une vulnérabilité dans MyAds (module pour Xoops). Celle-ci pourrait être exploitée par une personne malintentionnée afin d'effectuer des attaques par injection SQL.

Les données passées au paramètre "lid" dans "annonces-p-f.php" ne sont pas correctement filtrées avant d'être utilisées dans une requêtre SQL. Cela pourrait être exploité pour manipuler des requêtes SQL en injectant du code SQL arbitraire.
(Permet de récupérer l'user et le md5 de l'admin par exemple, ou encore insérer un nouveau membre en temps qu'admin etc...)


[Mise à jour]
Solution officieuse trouvée sur xoops.org (post de zyspec):

Vers la fin du fichier listing-p-f.php (ou annonces-p-f.php , ca dépend de la version de MyAds que vous utilisez) , juste avant ce code :
switch($op) {

Vous trouverez
foreach ($_POST as $k => $v) {
    ${
$k} = $v;
}

$lid = isset( $_GET['lid'] ) ? $_GET['lid'] : '' ;

if(!isset(
$_POST['op']) && isset($_GET['op']) ) {
    
$op $_GET['op'] ;
}



Supprimez ces lignes, ou mettez les en commentaire avec // en début de ligne, et remplacez les par:
$lid = isset( $_GET['lid'] ) ? intval($_GET['lid']) : '' ;
$op = isset($_POST['op']) ? $_POST['op'] : '' ;
$op = isset($_GET['op']) ? $_GET['op'] : $op ;

$yname = isset($_POST['yname'] ? $myts->addSlashes($_POST['yname']) : '';
$ymail = isset($_POST['ymail'] ? $myts->addSlashes($_POST['ymail']) : '';
$fname = isset($_POST['fname'] ? $myts->addSlashes($_POST['fname']) : '';
$fmail = isset($_POST['fmail'] ? $myts->addSlashes($_POST['fmail']) : '';


Noubliez pas de placer ca avant le switch($op).

Cette modification permet de corriger aussi la faillle du module Job Listing (jobs ver 1.9).


Cet article provient de Communauté Francophone des Utilisateurs de Xoops
https://www.frxoops.org

L'adresse de cet article est :
https://www.frxoops.org/modules/news/article.php?storyid=1041