Faille importante dans la dernière version de WordPress

Edité le 11/12/2007 : cette alerte a baissé de niveau de gravité en passant à divulgation d’information. Après vérification, le problème associé au paramètre p n’est pas exploitable pour faire de l’injection SQL. Il permet «juste» à un attaquant d’obtenir de l’information sur votre configuration et votre serveur.

La dernière version de WordPress (2.3.1) connaît apparemment une faille très grave de type injection SQL, c’est le site blogsecurity qui nous l’apprend, l’alerte d’origine se trouve à cette adresse.

Après vérification, ce problème semble bien réel. Un proof of concept peut être exécuté sur une installation en se rendant à une adresse du type :

http://localhost/path_to_wordpress/?feed=rss2&p=1

Il est possible d’utiliser le paramètre p pour exécuter du code SQL sur votre base de données, et ainsi écraser son contenu ou lire des données sensibles (par exemple les mots de passe des utilisateurs).

Normalement, si vous voulez essayer le POC, celà devrait vous envoyer un message d’insultes ressemblant à :

WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’AND comment_approved = ’1′ ORDER BY comment_date_gmt DESC LIMIT 10’ at line 1]
SELECT wp_comments.* FROM wp_comments WHERE comment_post_ID = AND comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 10

Je vois déjà les petits malins qui essayent d’exploiter la faille sur mon blog, il faut savoir que j’ai protégé celui‐ci avec un plugin qui permet d’effectuer des redirections automatiques.

En utilisant une règle du type expression régulière vous pouvez interdire l’accès aux URL dangereuses. Utilisez par exemple les règles suivantes :

.*feed=.*p=.*

.*p=.*feed=.*

En redirigeant ces adresses vers votre flux, dont l’adresse est certainement /feed.

Commentaires

2 Comments sur « Faille importante dans la dernière version de WordPress »

  1. DavidM dit :

    Merci c’est toujours bon à savoir même si les données ne peuvent pas être touchées.

Laisser un commentaire