Attaque critique sur Elementor Pro de WordPress

Comment les pirates créatifs ont combiné les vulnérabilités pour prendre le contrôle des sites WordPress ?

Le 6 mai, l’équipe de Threat Intelligence a été alertée sur la vulnérabilité présente dans Elementor Pro, le plugin populaire de WordPress, installé sur environ plus de 1 million de sites. Cette vulnérabilité était exploitée conjointement avec une autre vulnérabilité trouvée dans « Ultimate Addons » pour Elementor, ce dernier est installé sur environ 110 000 sites wordpress.

Ultimate Addons for Elementor est un plugin créé par Brainstorm Force. Il s’agit d’une extension d’Elementor, fournissant de nombreux widgets supplémentaires à utiliser avec Elementor.

L’un des widgets ajoute un formulaire d’inscription, appelé “User Registration Form” à n’importe quelle page. Il s’agit d’un formulaire d’inscription facilement personnalisable qui peut être placé n’importe où sur le site. Malheureusement, il y avait une faille dans la fonctionnalité de ce formulaire qui permettait aux utilisateurs de s’inscrire même lorsque l’inscription était désactivée, et même si le widget de formulaire n’était pas activement utilisé sur le site.

Elementor a rapidement publié une mise à jour pour Elementor Pro. Dans cet article, nous fournissons les détails techniques des deux vulnérabilités ainsi qu’un examen plus approfondi de la façon dont ces deux vulnérabilités ont été utilisées ensemble pour compromettre les sites Web WordPress utilisant ces plugins.

L’enregistrement des utilisateurs est-il activé ?

Les développeurs ont enregistré à la fois des actions nopriv et AJAX régulières liées à la get_form_data fonction afin de fournir des fonctionnalités pour le widget formulaire d’enregistrement d’utilisateur.

Image

En plongeant dans la get_form_data fonction, on voit qu’elle a été conçue pour récupérer les informations soumises dans le formulaire d’inscription. Ces données ont ensuite été utilisées pour créer un nouvel utilisateur sur le site à l’aide du wp_insert_user hook WordPress . Nulle part dans la fonction n’a-t-elle vérifié que l’enregistrement des utilisateurs était activé sur le site, ni effectué d’autres vérifications pour vérifier que le widget du formulaire d’inscription était actif.

Image

* Notez que plusieurs lignes sont omises par souci de concision.

Image

Ces vérifications manquantes ont permis aux attaquants de contourner les paramètres d’enregistrement des utilisateurs sur un site WordPress. Heureusement, Brainstorm Force a ajouté des vérifications dans la dernière version pour vérifier à la fois que l’enregistrement des utilisateurs est activé et que le widget est actif.

Image

Registration Nonce est toujours affichée

Bien que les nonces soient principalement utilisés pour atténuer les attaques CSRF et vérifier la légitimité d’une demande, ils peuvent également agir en tant que sécurité intrinsèque dans des cas comme celui-ci où une fonction contient un petit défaut, c’est-à-dire si le nonce n’est pas détectable par un attaquant.

La get_form_data fonction a utilisé une vérification nonce qui aurait pu potentiellement arrêter l’enregistrement des utilisateurs non autorisés. Cependant, nous avons découvert que le form_nonce était toujours visible dans le code source d’une page où un widget UA pour Elementor était activé, même quand aucun formulaire n’était présent sur la page.

Image

L’exploit

Combinées, ces failles ont permis aux pirates de s’enregistrer en tant qu’abonner sur n’importe quel site vulnérable et d’utiliser potentiellement cet accès pour pivoter et exploiter les vulnérabilités qui nécessitaient un accès de niveau abonné. C’est précisément ce que Threat Intelligence a constaté dans le cas de la vulnérabilité Elementor Pro.

Description : assermentée arbitraire File Upload
Plugin Affecté : Elementor Pro
Plugin Slug : elementor-pro
Versions affectées: <= 2.9.3
CVE ID : CVE-2020-13126
Version entièrement corrigée : 2.9.4

Hairun Technology s’oriente vers Drupal

Nombreux sont ceux qui utilisent WordPress et ne vérifient pas le niveau de la vulnérabilité de leurs sites web, Hairun Technology ne fait pas partie de ce genre d’entreprise. En effet, la vulnérabilité de ce CMS ne date pas d’hier, c’est pourquoi nous orientons nos clients sur l’utilisation de Drupal un CMS moins exposé et hautement efficace. Cependant, peu importe les outils de gestion de contenu ou quels que soient vos projets, les contrôles qualité et sécurité que nous effectuons avant la livraison finale de votre projet, sont très strictes.
Hairun Technology a la capacité de concevoir une solution web de A à Z avec un niveau de sécurité et fiabilité de haut niveau.