
L’un des plugins Elementor les plus populaires de WordPress, « Essential Addons for Elementor », s’est avéré vulnérable à une élévation de privilèges non authentifiée qui pourrait permettre à des attaques à distance d’obtenir des droits d’administrateur sur le site.
Essential Addons for Elementor est une bibliothèque de 90 extensions pour le constructeur de pages « Elementor », utilisée par plus d’un million de sites WordPress.
La faille, découverte par PatchStack le 8 mai 2023, est identifiée comme CVE-2023-32243 et est une vulnérabilité d’escalade de privilèges non authentifiée sur la fonctionnalité de réinitialisation du mot de passe du plug-in, impactant les versions 5.4.0 à 5.7.1.
« [En exploitant la faille] Il est possible de réinitialiser le mot de passe de n’importe quel utilisateur tant que nous connaissons son nom d’utilisateur, pouvant ainsi réinitialiser le mot de passe de l’administrateur et se connecter à son compte », lit-on dans le bulletin de PatchStack.
« Cette vulnérabilité se produit car cette fonction de réinitialisation de mot de passe ne valide pas une clé de réinitialisation de mot de passe et modifie directement le mot de passe de l’utilisateur donné. »
Les conséquences de cette faille sont importantes et comprennent l’accès non autorisé à des informations privées, la dégradation ou la suppression de sites Web, la distribution de logiciels malveillants aux visiteurs et les répercussions sur la marque telles que la perte de confiance et les problèmes de conformité légale.
Alors que les attaquants distants n’ont pas besoin de s’authentifier pour exploiter la faille CVE-2023-32243, ils doivent connaître un nom d’utilisateur sur le système qu’ils ciblent pour la réinitialisation du mot de passe malveillant.
Réinitialisation (in)conditionnelle du mot de passe
Comme l’explique PatchStack dans son rapport, l’attaquant doit définir une valeur aléatoire dans les entrées POST ‘page_id’ et ‘widget_id’ afin que le plugin ne produise pas de message d’erreur qui pourrait éveiller les soupçons de l’administrateur du site.
L’attaquant doit également fournir la valeur nonce correcte sur le ‘eael-resetpassword-nonce’ pour valider la demande de réinitialisation du mot de passe et définir un nouveau mot de passe sur les paramètres ‘eael-pass1’ et ‘eael-pass2’.
« À ce stade, la question est peut-être de savoir comment nous pouvons mettre la main sur l’élément essentiel ou la valeur nonce », explique PatchStack.
« Il s’avère que cette valeur nonce est présente dans la page principale du site WordPress puisqu’elle sera définie dans la variable $this->localize_objects par la fonction load_commnon_asset : »
En supposant qu’un nom d’utilisateur valide a été défini sur le paramètre ‘rp_login’, le code remplacera le mot de passe de l’utilisateur ciblé par le nouveau mot de passe fourni par l’attaquant, lui donnant essentiellement le contrôle du compte.

La correction de ce problème était simple, commente la société de sécurité, car le fournisseur du plug-in a dû ajouter une fonction qui vérifie si une clé de réinitialisation de mot de passe est présente et légitime dans les demandes de réinitialisation.
Le correctif a été publié avec Essential Addons for Elementor version 5.7.2, qui a été mis à disposition aujourd’hui. Il est recommandé à tous les utilisateurs du plug-in de mettre à niveau vers la dernière version dès que possible.