Une faille zero-day dans le mécanisme de réinitialisation de MdP de WordPress,
pourrait permettre à des attaquants de prendre le contrôle
L'expert en sécurité polonais Dawid Golunski a découvert une faille zero-day dans le mécanisme de réinitialisation de mot de passe WordPress qui permettrait à un attaquant d'obtenir le lien de réinitialisation du mot de passe dans certaines circonstances.
Le chercheur a publié ses résultats mercredi après avoir signalé la faille à l'équipe de sécurité de WordPress en juillet dernier.
Dix mois plus tard, le correctif de sécurité n’étant toujours pas disponible, Golunski a décidé de se tourner vers le public et d'informer les propriétaires de site WordPress de ce problème afin qu'ils puissent protéger leurs sites par d'autres moyens.
Toutes les versions de WordPress, y compris les dernières, 4.7.4, sont vulnérables, a déclaré le chercheur. Répertoriée CVE-2017-8295, la vulnérabilité réside dans le fait que WordPress utilise ce que Golunski appelle des données non fiables par défaut lors de la création d’un email de réinitialisation de mot de passe.
Dans une PoC, Golunski souligne que WordPress utilise une variable, SERVER_NAME, pour obtenir le nom d'hôte pour créer un en-tête From/Return-Path pour l'email de réinitialisation de mot de passe. Étant donné que cette variable, par sa nature, peut être personnalisée, un attaquant pourrait insérer un domaine de son choix et l'obliger à envoyer un courrier sortant à une adresse malveillante, indique le chercheur. L'attaquant recevrait alors le courrier électronique de réinitialisation et pourrait modifier le mot de passe du compte et prendre la relève.
« Selon la configuration du serveur de messagerie, il peut en résulter un courrier électronique qui est envoyé à l'utilisateur victime de WordPress avec l'adresse malveillante From/Return-Path définie dans les en-têtes de messagerie », a expliqué Golunski. « Cela pourrait permettre à l'attaquant d'intercepter le courrier électronique contenant le lien de réinitialisation du mot de passe dans certains cas nécessitant une interaction de l'utilisateur ainsi que sans l'interaction de l'utilisateur ».
Pour ce qui concerne l’interception des courriels en question, le chercheur évoque trois possibilités :
- l’attaquant lance une attaque DoS sur le compte e-mail de sa victime afin que le message de réinitialisation n’atteigne pas la boîte de son propriétaire légitime et soit renvoyé vers l’adresse de l’attaquant ;
- certains systèmes de réponse pourraient joindre une copie du message de réinitialisation vers l’email de l’attaquant ;
- un attaquant pourrait envoyer de multiples courriels de réinitialisation de mot de passe pour forcer l'utilisateur à répondre au message de demande d’explication suite à des demandes sans fin de réinitialisation du mot de passe. La réponse contenant le lien du mot de passe serait ensuite envoyée à l'attaquant.
Ces scénarios d'exploitation complexes sont probablement la raison principale pour laquelle l'équipe de WordPress n'a pas donné la priorité à la correction de ce problème jusqu'à maintenant. Le même avis est partagé par les experts en sécurité de Sucuri, un fournisseur de produits de sécurité, récemment acquis par GoDaddy.
« La vulnérabilité existe, mais n'est pas aussi critique qu’annoncée pour plusieurs raisons », a déclaré Marc Montpas, chercheur en vulnérabilité de Sucuri. « Toute l'attaque repose sur le fait que le courrier électronique de la victime n'est pas accessible au moment où l'attaque se produit, ce qui réduit considérablement les chances d'une attaque réussie ».
Son collègue, Denis Sinegubko, a également partagé ses réflexions sur le sujet. « Après une lecture brève et en supposant que l'attaque fonctionne, elle a un impact limité, car elle nécessite qu'un site individuel soit accessible par adresse IP, donc ne fonctionnera pas pour la plupart des sites sur les serveurs partagés. Seulement pour les serveurs dédiés mal configurés ».
« Tout le scénario d'attaque est théoriquement possible, mais dans la pratique, je ne pense pas que des milliers de sites soient piratés en raison de cette vulnérabilité », a ajouté Montpas.
D’ailleurs, jeudi, Aaron Campbell, un contributeur de base de WordPress, a déclaré que, pour que le problème de Golunski ait un impact sur la sécurité, un serveur doit être mal configuré et « permette à un en-tête fourni par l'utilisateur d'écraser $ _SERVER ['SERVER_NAME'] ». En plus d'avoir un serveur mal sécurisé, Campbell a expliqué que l'un des cas suivants devrait se produire :
un utilisateur doit répondre à un email de réinitialisation de mot de passe ;
une réponse automatique doit répondre à l'email et inclure l'original ;
un serveur de messagerie électronique doit être compromis ou surchargé et le message retourné à l'expéditeur avec le contenu intact.
Campbell a déclaré qu’il est possible que WordPress corrige le problème, même s’il ne concerne que les serveurs mal configurés, mais a reconnu qu'il n'y avait pas encore de calendrier défini pour la correction.
En attendant le correctif, le chercheur a proposé une solution d’atténuation : « Comme solution temporaire, les utilisateurs peuvent permettre à UseCanonicalName d'imposer une valeur SERVER_NAME statique ».
Source : billet Golunski
Partager