Exclusivité : Une faille critique d’un plugin WordPress rend vulnérable des milliers de sites !

3
108

Exclusif – Ce matin, un internaute Français connu sous le pseudo de Arfing a prévenu UnderNews d’un 0-Day présent dans un plugin WordPress couramment utilisé. La faille peut être considérée comme critique, il s’agit d’une injection SQL pure et dure qui donne accès au hash de l’administrateur (ou des utilisateurs) du site vulnérable.

Le plugin en question se nomme “Facebook Connect WordPress Plugin” et se télécharge sur le site officiel de son auteur (http://www.sociable.es/facebook-connect/). Ce plugin permet d’intégrer les fonctionnalités Facebook à son site/blog et du fait de la popularité de WordPress et de Facebook, de nombreux sites l’utilise.

Après une requête Google basée sur le Google Dork permettant de trouver les sites vulnérables, UnderNews a pu constater que le moteur de recherche renvoi pas moins de 19 500 résultats rien que pour les sites Français ! Autant dire qu’il y a du travail pour un pirate informatique s’il veut faire des dégâts…

UnderNews a préparé un petit advisory concernant la vulnérabilité de ce plugin (pour la dernière version 3.0.7 mais à priori valable pour toutes les autres aussi) :

Dans le fichier fbConnectLogic.php (ligne 928) :

function set_userid_fbconnect($userID,$fbuserid) {
global $wpdb, $fbconnect;
$users_table = WPfbConnect::users_table_name();
$wpdb->query("UPDATE $users_table SET fbconnect_userid=".$fbuserid." WHERE ID='$userID' LIMIT 1");
} La variable fbuserid n'est pas filtrée avant la requête SQL. Le point vulnérable permettant l'injection SQL se trouve ici.

Nous conseillons aux administrateurs de sites utilisant ce plugin de le désactiver et de le supprimer du FTP jusqu’à ce que l’auteur corrige la faille. Si vous ne pouvez pas vous en passer, voici comment corriger la vulnérabilité en éditant le script “fbConnectLogic.php” (attention, UnderNews ne se porte pas garant des conséquences que cela peut avoir, préférez le conseil ci-dessus) et en ajoutant la fonction PHP intval() :

 

$wpdb->query("UPDATE $users_table SET fbconnect_userid=".intval($fbuserid)." WHERE ID='$userID' LIMIT 1");

 

Après cela, vous devrez être protégé.

L’auteur du plugin a été averti par UnderNews, espérons qu’il sortira une version corrigée et revue de son plugin rapidement…

Des sites non négligeables utilisent ce plugin, il est donc impératif qu’une mise à jour soit faite. UnderNews, par raison de sécurité n’en citera pas ici. Utilisez le formulaire de contact du site pour toute information complémentaire sur cette alerte de sécurité.

Note : des sites se sont déjà fait piratés via cette faille de sécurité.

3 Commentaires

Les commentaires sont fermés.