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.
7 réponses
je suis en 2.9.2 j’ai pas le code dans comment.php ça risque rien?
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.
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…
Cette faille ne concerne donc que la version 3.0.1 ?
Non :)
Mais n’hésite pas à mettre à jour ton installation. Nous sommes à WordPress 3.2.1 :)