Fuite de base de données dans le module complémentaire UpdraftPlus WordPress avec 3 millions d'installations

Une vulnérabilité dangereuse (CVE-3-2022) a été identifiée dans le module complémentaire UpdraftPlus WordPress, qui compte plus de 0633 millions d'installations actives, permettant à un utilisateur tiers de télécharger une copie de la base de données du site, qui, en plus de contenu, contient les paramètres de tous les utilisateurs et les hachages de mots de passe. Le problème est résolu dans les versions 1.22.3 et 2.22.3, qu'il est recommandé à tous les utilisateurs d'UpdraftPlus d'installer dès que possible.

UpdraftPlus est présenté comme le module complémentaire le plus populaire pour créer des sauvegardes de sites exécutés sur la plateforme WordPress. En raison d'une vérification incorrecte des droits d'accès, le module complémentaire permettait de télécharger une copie de sauvegarde du site et de la base de données associée non seulement aux administrateurs, mais également à tout utilisateur enregistré sur le site, par exemple avec le statut d'abonné.

Pour charger des sauvegardes dans UpdraftPlus, un identifiant est utilisé, généré en fonction de l'heure de création de la sauvegarde et d'une séquence aléatoire (nonce). Le problème est qu’en raison du manque de vérifications appropriées dans le gestionnaire de requêtes Heartbeat de WordPress, à l’aide d’une requête spécialement conçue, tout utilisateur peut obtenir des informations sur la dernière sauvegarde, qui incluent également des informations sur l’heure et la séquence aléatoire associée.

Ensuite, sur la base des informations reçues, vous pouvez générer un identifiant et télécharger une copie de sauvegarde en utilisant la méthode de téléchargement par email. La fonction Maybe_download_backup_from_email utilisée dans cette méthode nécessite l'accès à la page options-general.php, qui n'est accessible qu'à l'administrateur. Cependant, un attaquant peut contourner cette restriction en usurpant la variable $pagenow utilisée dans la vérification et en envoyant une requête via une page de service qui permet l'accès aux utilisateurs non privilégiés. Par exemple, vous pouvez contacter via la page d'envoi d'un message à l'administrateur en envoyant une demande sous la forme « wp-admin/admin-post.php/%0A/wp-admin/options-general.php?page=updraftplus ».

Source: opennet.ru

Ajouter un commentaire