Faille de sécurité WordPress « 0 day » !

Si vous disposez des dernières versions de WordPress (3.0.2) ou la beta de WordPress 3.1, vous n’avez aucun risque. Seul les versions antérieurs sont concernées. Toutefois, si vous ne souhaitez pas mettre à jour pour des raisons technique ou autre, il vous suffit de patcher votre installation à l’aide des indications suivantes.

Cette vulnérabilité permet tout simplement de récupérer le nom, le mot de passe et n’importe quelles autres informations directement depuis un article. L’auteur doit tout de même avoir le rôle nécessaire pour pouvoir publier un article. Cette exploit « 0 day » se forme grâce à l’utilisation de la fonction « do_trackbacks » et permet donc l’injection SQL. Les attaquants (distants) peuvent alors exécuter des commandes SQL directement dans votre installation WordPress. Pour patcher votre installation (WordPress 3.0.1), collez dans le fichier « comment.php » présent dans le dossier « wp-includes » le bout de code suivant.

Repérez

Pour commencer, faites une sauvegarde de votre fichier « comment.php ». Ouvrez-le et recherchez le bout de code suivant.

[code]
if ( !in_array($tb_ping, $pinged) ) {
    trackback($tb_ping, $post_title, $excerpt, $post_id);
    $pinged[] = $tb_ping;
} else {
    $wpdb->query( $wpdb->prepare(« UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, ‘$tb_ping’,  »)) WHERE ID = %d », $post_id) );
}
[/code]

Remplacez

Sélectionnez le bout de code précédemment cité et coller le code suivant. Cela écrasera votre sélection puis enregistrez.
[code]
if ( !in_array($tb_ping, $pinged) ) {
    trackback($tb_ping, $post_title, $excerpt, $post_id);
    $pinged[] = $tb_ping;
} else {
    $wpdb->query( $wpdb->prepare(« UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s,  »)) WHERE ID = %d », $tb_ping, $post_id) );
}
[/code]

Les extensions

Better Security est une extension vous permettant d’intégrer un véritable système de sécuritésur votre installation WordPress. Nous vous présentons l’une des plus complètes et des plus fonctionnelles extensions de sécurisation WordPress. Lire : Découvrez le tout en un de la sécurisation WordPress !

Login Logger est une extension vous permettant de surveiller l’activité des connexions entrantes de votre installation WordPress. Il liste les dernières connexions effectuées par vos membres et indique également les connexions échouées. La date, l’adresse IP sont enregistrés.

Allez plus loins

5 réponses

  1. Merci bien pour ce billet, je tourne encore sous une version inférieur à la 3.0.2 donc cela me concerne, surtout avec un site qui fait 4000VU/jour,merci encore pour cette indication, je vais en faire part à mon équipe de dev.

  2. C’est vrai que ce genre de patch est toujours intéressant afin d’éviter une mise à jour. Mais quant on voit le nombre de failles qui sont résolues régulièrement dans les différentes versions, il est sans doute plus sage de s’en tenir aux mises à jour surtout qu’il n’est pas toujours évident de trouver des explications ou des patchs aux différentes failles. Par exemple la version 3.0.2 a corrigée de nombreux bug, failles XSS, faille multisites…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *