XSS reflété dans la protection anti-spam

Mise à jour – après la publication de cet article, Denis Shagimuratov de CleanTalk nous a contacté sur Twitter. Il semble qu'ils n'aient pas reçu notre divulgation car notre contact au sein de l'entreprise n'était plus le bon destinataire pour ce type de problème.

Le 15 février 2022, l'équipe Wordfence Threat Intelligence a terminé ses recherches sur deux vulnérabilités distinctes dans la protection anti-spam, AntiSpam, FireWall by CleanTalk, un plugin WordPress avec plus de 100 000 installations. Ces deux vulnérabilités reflétaient des scripts intersites qui pourraient être utilisées pour la prise de contrôle de site si un attaquant réussissait à tromper un administrateur de site pour qu'il effectue une action, comme cliquer sur un lien.

Nous avons initialement tenté de contacter CleanTalk le même jour via une méthode que nous avions précédemment utilisée pour signaler avec succès les vulnérabilités. Après plus d'un mois sans réponse, nous avons contacté l'équipe des plugins WordPress le 22 mars 2022. Une version corrigée, 5.174.1, a été mise à disposition le 25 mars 2022.

Tous les clients Wordfence, y compris les clients Wordfence Premium ,  Wordfence Care et Wordfence Response ainsi que les utilisateurs gratuits de Wordfence, sont protégés contre tout exploit ciblant ces vulnérabilités par la protection intégrée contre les scripts intersites du pare-feu Wordfence.Description : Reflected Cross-Site Scripting
Plugin concerné : Spam protection, AntiSpam, FireWall by CleanTalk
Plugin Slug : cleantalk-spam-protect
Plugin Développeur : CleanTalk
Versions concernées : <= 5.173
ID CVE : CVE-2022-28221
Score CVSS : 6.1 (Moyen )
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Chercheur/s : Ramuel Gall
Version entièrement corrigée : 5.174 .1

CleanTalk est un plugin WordPress conçu pour protéger les sites Web contre les commentaires et les inscriptions indésirables. L'une des fonctionnalités qu'il inclut est la possibilité de vérifier les commentaires pour le spam et de présenter les commentaires spammés pour suppression.
Le plug-in utilise la column_ct_commentfonction in /lib/Cleantalk/ApbctWP/FindSpam/ListTable/Comments.phppour afficher la liste des commentaires de spam et, ce faisant, génère des liens pour approuver, supprimer ou marquer les commentaires comme spam en utilisant la valeur fournie dans $_REQUEST[‘page’].

Grâce à une bizarrerie de la façon dont WordPress traite le paramètre de page et l'ordre de requête PHP par défaut, il est possible d'utiliser ce paramètre pour effectuer une attaque de script intersite réfléchie, qui est presque identique à une vulnérabilité que nous avons récemment couverte .

La vulnérabilité peut être utilisée pour exécuter JavaScript dans le navigateur d'un administrateur connecté, par exemple, en l'incitant à visiter un formulaire d'auto-soumission qui envoie une requête POST au site à wp-admin/edit-comments.php?page=ct_check_spam, avec le $_POST[‘page’]paramètre défini sur JavaScript malveillant.

Comme pour toute vulnérabilité de type Cross-Site Scripting, l'exécution de JavaScript dans la session d'un administrateur peut être utilisée pour prendre le contrôle d'un site en ajoutant un nouvel administrateur malveillant ou en injectant une porte dérobée, entre autres méthodes potentielles.Description : Reflected Cross-Site Scripting
Plugin concerné : Spam protection, AntiSpam, FireWall by CleanTalk
Plugin Slug : cleantalk-spam-protect
Plugin Développeur : CleanTalk
Versions concernées : <= 5.173
ID CVE : CVE-2022-28222
Score CVSS : 6.1 (Moyen )
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Chercheur/s : Ramuel Gall
Version entièrement corrigée : 5.174 .1

Semblable à la fonctionnalité de commentaire de spam, CleanTalk inclut également une fonctionnalité qui vérifie les utilisateurs spammy et les présente dans un tableau similaire pour examen et suppression. Dans ce cas, la fonction vulnérable est column_ct_usernamein /lib/Cleantalk/ApbctWP/FindSpam/ListTable/Users.php, qui utilise la valeur de $_REQUEST[‘page’]pour générer des liens afin de supprimer les utilisateurs potentiellement indésirables. Comme pour la vulnérabilité des commentaires de spam, si un administrateur peut être amené à effectuer une action, il est possible d'utiliser JavaScript exécuté dans son navigateur pour prendre le contrôle d'un site.

Chronologie

15 février 2022 – L'équipe Wordfence Threat Intelligence termine son enquête et vérifie que la protection intégrée du pare-feu Wordfence est suffisante pour bloquer les tentatives d'exploitation. Nous envoyons la divulgation complète à un contact chez CleanTalk à qui nous avons divulgué avec succès des vulnérabilités dans le passé.
22 mars 2022 – Comme nous n'avons pas encore eu de nouvelles de notre contact, nous avons signalé la vulnérabilité à l'équipe des plugins WordPress.
25 mars 2022 – Une version corrigée du plugin, 5.174.1, devient disponible.

Conclusion

Dans l'article d'aujourd'hui, nous avons couvert deux vulnérabilités de script intersite reflétées presque identiques dans la protection anti-spam, AntiSpam, FireWall par le plugin CleanTalk pour WordPress. Bien que ces deux vulnérabilités nécessitent un certain degré d'ingénierie sociale, les deux pourraient être utilisées pour la prise de contrôle du site.

Tous les utilisateurs de Wordfence, y compris ceux exécutant  Wordfence Premium ,  Wordfence Care et Wordfence Response , ainsi que les sites exécutant encore la version gratuite de Wordfence, sont entièrement protégés contre cette vulnérabilité.

Si vous pensez que votre site a été compromis à cause de cette vulnérabilité ou de toute autre vulnérabilité, nous proposons des services de réponse aux incidents via Wordfence Care . Si vous avez besoin que votre site soit nettoyé immédiatement, Wordfence Response offre le même service avec une disponibilité 24/7/365 et un temps de réponse d'une heure. Ces deux produits incluent une assistance pratique au cas où vous auriez besoin d'une assistance supplémentaire.

Si vous connaissez un ami ou un collègue qui utilise ce plugin sur son site, nous vous recommandons vivement de lui transmettre cet avis pour aider à protéger ses sites, car il s'agit d'une vulnérabilité grave qui peut entraîner une prise de contrôle complète du site.