Le 17 décembre 2020, le L’équipe de sécurité d’Astra Research divulguée qu’ils avaient découvert une vulnérabilité critique de téléchargement de fichiers sans restriction dans Contact Form 7, le plugin WordPress le plus populaire de tous les temps. Le chercheur principal, Jinson Varghese, a également publié un article de blog fournir des informations limitées sur cette vulnérabilité.

La divulgation initiale affirmait que «En exploitant cette vulnérabilité, les attaquants pourraient simplement télécharger des fichiers de tout type, en contournant toutes les restrictions imposées concernant les types de fichiers téléchargeables autorisés sur un site Web.»

À l’époque, nous n’avons pas pu dupliquer l’exploit et publié notre analyse sur la base des meilleures informations disponibles, qui indiquaient que la vulnérabilité serait difficile à exploiter et nécessiterait probablement une configuration très spécifique, mais nous voulions attendre qu’une preuve de concept publique soit disponible.

Une preuve de concept minimale soumis à wpvulndb par le chercheur d’origine a été mis à disposition le 31 décembre 2020. Une preuve de concept distincte et non vérifiée est apparu sur exploit-db le 20 décembre 2020. Le 10 janvier 2021, l’équipe d’Astra Security a mis à jour son annonce de vulnérabilité indiquant qu’une preuve de concept complète ne serait pas publiée.

Aucun de nos analystes de menaces n’a été en mesure d’utiliser ces premières preuves de concept ou des variantes de celles-ci pour obtenir un téléchargement de fichiers sans restriction, et en effet nous avions déjà tenté plusieurs variantes de chaque preuve de concept lorsque la vulnérabilité a été révélée pour la première fois parce que notre analyse du correctif du plugin a indiqué que cela pourrait être une approche viable.

Nous avons pu utiliser une double extension plus un caractère unicode pour passer un seul contrôle de sécurité, le wpcf7_antiscript_file_name , mais cette fonction n’était que l’une des nombreuses mesures de sécurité mises en place pour le processus de téléchargement, et son contournement ne permettait pas de télécharger des fichiers avec des extensions qui seraient exécutables sur l’une de nos configurations de test. La plus récente de ces fonctionnalités de sécurité supplémentaires, l’ajout d’un répertoire aléatoire, est en place depuis plus de 6 ans.

Nous n’avons pas été en mesure de télécharger avec succès des fichiers se terminant par une extension «.php», ni de télécharger des fichiers avec des extensions doubles (par exemple, file.php.jpg, ou file.jpg.php, avec ou sans séparateur Unicode invisible entre les deux extensions) qui seraient analysées par toute configuration de serveur Web récente que nous avons testée. Les configurations que nous avons testées incluent Apache avec une directive PHP AddHandler, Apache avec une directive SetHandler ancrée, Apache + PHP-FPM, NGINX + FastCGI, Litespeed et IIS. De plus, nous n’avons vu aucune preuve de cette vulnérabilité exploitée avec succès dans la nature.

Nous avons contacté le chercheur en sécurité d’origine pour demander plus d’informations, mais nous n’avons pas eu de réponse au moment de cette publication. Nous avons également contacté le développeur du plugin, qui a indiqué avoir reconnu le contournement dans le wpcf7_antiscript_file_name fonctionner comme une vulnérabilité potentielle mais n’avait pas été fourni avec une preuve de concept qui contournait les autres mesures de sécurité. Nous avons contacté Astra Security qui nous a pointé vers leur article de blog mis à jour indiquant qu’aucune preuve de concept ne serait publiée et qu’ils n’avaient également vu aucune preuve que la vulnérabilité était exploitée dans la nature.

La recherche sur la sécurité open source est extrêmement importante et rend l’ensemble de l’écosystème WordPress plus sûr. Il est extrêmement important que les configurations vulnérables soient connues; toute configuration de serveur qui permet d’exploiter cette vulnérabilité pourrait également permettre d’exploiter des vulnérabilités actuellement non découvertes dans d’autres plugins. Il est également important pour la crédibilité de notre industrie que cette recherche soit vérifiable indépendamment. Bien que nous nous rendions compte qu’il peut y avoir de bonnes raisons de ne pas rendre publique une preuve de concept, fournir une telle preuve de concept à d’autres chercheurs en sécurité permet à l’industrie d’améliorer sa réponse aux menaces connues.

Pour ces raisons, nous demandons à l’équipe de recherche Astra Security, ou à toute autre personne de la communauté WordPress ou de sécurité qui est en mesure de le faire, de nous fournir plus d’informations sur cette vulnérabilité, car nous aimerions pouvoir dupliquer le problème de manière indépendante. afin de confirmer son impact, non seulement pour les millions d’utilisateurs de Contact Form 7, mais aussi pour l’écosystème WordPress plus large. Nous demandons des configurations de serveur et de plugin vulnérables dans lesquelles il est possible de télécharger un fichier PHP exécutable via cette vulnérabilité, ainsi qu’une preuve de concept intégrale qui nous permet de dupliquer le problème.


Source link