L’article d’aujourd’hui fait partie d’un article de blog en deux parties. Il décrit une vulnérabilité de script inter-sites qui exploite le PHP_SELF variable. Demain, nous publierons la deuxième partie, qui décrit un autre plugin souffrant d’une vulnérabilité similaire liée à l’utilisation de PHP_SELF. Assurez-vous donc de rechercher ce message via notre liste de diffusion, que vous pouvez rejoindre sur cette page, au cas où vous n’êtes pas déjà membre.

Le 16 août 2021, l’équipe Wordfence Threat Intelligence a tenté d’initier la divulgation d’une vulnérabilité reflétée de Cross-Site Scripting dans En construction, un plugin WordPress avec plus de 80 000 installations.

Après 2 semaines sans réponse, nous avons transmis le problème à l’équipe des plugins WordPress le 30 août 2021. Une version corrigée, 1.19, a été publiée le lendemain, le 31 août 2021.

Une règle de pare-feu protégeant contre cette vulnérabilité a été publiée pour les utilisateurs de Wordfence Premium le 16 août 2021 et est devenue disponible pour les sites utilisant la version gratuite de Wordfence le 15 septembre 2021.

Si vous n’utilisez pas Wordfence et que vous êtes un utilisateur de ce plugin, nous vous recommandons de passer immédiatement à la version 1.19 d’underConstruction qui contient le correctif.


La page d’options du plugin underConstruction contenait un formulaire de paramètres qui faisait écho à la valeur du $GLOBALS['PHP_SELF'] variable comme cible de soumission.

		<form method="post"
			action="<?php echo $GLOBALS['PHP_SELF'] . '?page=" . $this->mainOptionsPage; ?>"
			id="ucoptions">

PHP_SELF stocke le chemin du script en cours d’exécution, c’est donc un moyen simple d’obtenir un formulaire à se soumettre. Les sites exécutant Apache et modPHP stockent des informations de chemin supplémentaires après le nom de fichier dans PHP_SELF par défaut, par exemple, examplesite.com/index.php/extrapath. Malheureusement, cela signifiait que JavaScript pouvait être ajouté au chemin lui-même, par exemple :

<siteURL>/wp-admin/admin.php//index"/><svg/onload=alert(/xss/)>?page=under-construction

Si un attaquant réussissait à amener un administrateur à cliquer sur un lien spécialement conçu, il pourrait être utilisé pour exécuter JavaScript dans la session de cet administrateur, ce qui pourrait être utilisé pour ajouter un utilisateur administrateur malveillant ou installer une porte dérobée sur le site, entraînant une prise de contrôle du site. .

Les sites exécutant Nginx ou Apache+PHP-FPM ne stockent pas les informations de chemin supplémentaires requises pour que la vulnérabilité fonctionne par défaut, mais certains fournisseurs d’hébergement partagé peuvent activer cette fonctionnalité pour la compatibilité avec d’autres logiciels.

Chronologie

16 août 2021 – Wordfence Threat Intelligence trouve la vulnérabilité et tente de contacter le développeur du plugin. Nous publions une règle de pare-feu pour protéger les utilisateurs de Wordfence Premium.
30 août 2021 – Après 2 semaines sans réponse, nous contactons l’équipe des plugins WordPress.
31 août 2021– Une version corrigée du plugin est disponible.
15 septembre 2021 – Les sites exécutant la version gratuite de Wordfence reçoivent la règle de pare-feu.

Conclusion

Dans l’article d’aujourd’hui, nous avons couvert une vulnérabilité reflétée de Cross-Site Scripting (XSS) dans le plugin underConstruction qui pourrait être utilisé pour exécuter du JavaScript malveillant dans une session d’administrateur et prendre le contrôle d’un site. Alors que les vulnérabilités XSS ciblant PHP_SELF ne sont plus aussi courantes qu’elles l’étaient dans le passé en raison de l’utilisation croissante des meilleures pratiques, telles que l’échappement de la sortie et l’utilisation de fonctions WordPress intégrées pour enregistrer des options en toute sécurité, elles peuvent toujours être trouvées de temps en temps.

Au cours de la recherche qui nous a conduits à cette vulnérabilité, nous avons trouvé une deuxième vulnérabilité similaire dans un autre plugin avec plus de 40 000 installations, que nous couvrirons plus en détail dans le post de demain.

WordPress Premium les utilisateurs sont protégés contre cette vulnérabilité depuis le 16 août 2021. Les sites exécutant toujours la version gratuite de Wordfence ont reçu la même protection le 15 septembre 2021. Néanmoins, nous vous recommandons fortement de passer à la dernière version disponible, la 1.19, dès que possible.

Si vous pensez que votre site a été compromis à la suite de cette attaque ou de toute autre attaque, Wordfence offre des services professionnels de nettoyage de site. Nos analystes de sécurité suppriment tous les logiciels malveillants trouvés et déterminent également le vecteur d’intrusion si possible, ainsi que des recommandations pour prévenir de futures infections.

Si quelqu’un que vous connaissez utilise le plugin underConstruction, veuillez lui transmettre cet article et l’encourager à mettre à jour.


Source link