WordPress 4.0/4.0.1 – Un vulnérabilité de 4 ans corrigée

2
91

La dernière mise à jour de WordPress corrige plusieurs failles de sécurité, dont l’une critique permettant l’injection de code malveillant, et datant de près de 4 ans, depuis WordPress 3.0. Rassurez vous, si vous êtes en 4.0 ou plus, la faille a été corrigée.

Voila une occasion de rappeler l’importance des mises à jours des CMS et de ses composants périphériques (thèmes & plugins). La faille a été introduite avec la version 3.0 de WordPress et depuis, personne ne l’avait vue. Elle n’a visiblement pas été exploitée par des pirates. Cette dernière a été rapportée via le responsible disclosure à l’équipe responsable du développement du CMS.

La vulnérabilité corrigée en détail

Le danger venait de la fonction wptexturize() qui permets de transformer certains caractères indésirables ainsi que de séparer les tags HTML et autres shortcodes via un preg_split PHP. La fonction est utilisée pour chaque commentaire publié ainsi que par de multiples plugins.

Un pirate informatique peut alors exploiter le bug pour ajouter des attributs dans le code HTML autorisé au sein même d’un commentaire en apparence inoffensif. Un attribut style peut être créé afin de couvrir la fenêtre entière pour forcer l’exécution d’un mouseover par exemple. Il peut aussi insérer une nouvelle balise <script> pour charger du code JavaScript plus complexe, via un fichier exécuté depuis un autre site web.

Ce script peut aussi utiliser jQuery et les requêtes AJAX pour récupérer vos jetons de sécurité et ainsi poster des formulaires à votre place.

Patch correctif temporaire

Si vous devez rester temporairement en version vulnérable < 4.0 pour des raisons techniques vous empêchant de migrer, vous pouvez procéder à un patch manuel de la fonction se trouvant dans wp-includes/formatting.php.

Cherchez function wptexturize(), puis ajoutez une ligne juste sous cette déclaration, comme ceci :

function wptexturize( $text ) { return $text; … }

La meilleure solution est bien sûr de passer en 4.0.1 ou plus.

Mise à jour 4.0.1 WordPress “Benny”

Cette mise à jour 4.0.1 de WordPress a aussi apporté son lot de correctifs, résolvant notamment un défaut de sandbox qui pouvait permettre l’exécution de code tiers via les iframes audio/vidéo. Mais une faille critique était passée outre les mailles du filet : de type « Cross-Site Scripting » (XSS), elle permet d’injecter du code dans des pages Web pour déclencher des actions particulières, typiquement la redirection vers un site malveillant.

Les changements d’architecture réalisés avec WordPress 4.0 font que cette version n’est pas touchée. Ce n’est pas le cas pour les moutures antérieures du CMS. Bilan, il est urgent de réaliser la mise à niveau en version 4.0.1, disponible depuis le jeudi 20 novembre. Aucune mesure particulière à prendre sur les sites qui supportent l’update automatique. Pour les autres, le téléchargement s’effectue sur cette page.

WordPress 4.0.1 corrige d’autres failles moins importantes : deux de type XSS, une pouvant entraîner une attaque par déni de service distribuée (DDoS) lors de la vérification d’un mot de passe… et une autre de type « Cross-Site Request Forgery » (CSRF). Celle-ci permet de contourner les mécanismes d’authentification en faisant réaliser à la victime des actions à son insu – généralement des requêtes HTTP.

Sur la liste des nouveautés figurent aussi des protections additionnelles côté serveur et la capacité, pour WordPress, d’invalider les liens contenus dans les e-mails de réinitialisation de mot de passe si l’utilisateur s’en souvient entre-temps, se connecte et change d’adresse mail. Reste une brèche un peu particulière : les développeurs n’entrent pas dans les détails, mais évoquent une collision « extrêmement improbables » de caractères spéciaux qui pourrait permettre de corrompre le compte d’un utilisateur… si celui-ci ne s’est pas connecté depuis 2008.

 

Sources : SecuPress, ITespresso

Les commentaires sont fermés.