WordPress: un plugin de gestion de fichiers criblé de bugs critiques

0

Un bogue critique de script inter-sites (XSS) affecte les sites WordPress exécutant le plug-in Frontend File Manager et permet aux utilisateurs distants non authentifiés d’injecter du code JavaScript dans des sites Web vulnérables pour créer des comptes d’utilisateurs de niveau administrateur.

Ce bogue est l’une des six failles critiques affectant le plugin Front File Manager versions 17.1 et 18.2, actif sur plus de 2 000 sites Web. Chacune des failles, divulguées publiquement, a des correctifs disponibles.

Les bogues ouvrent les sites exécutant le plug-in à un large éventail d’attaques d’exécution de code à distance, donnant aux adversaires la possibilité de modifier ou de supprimer des messages, de configurer un relais de spam, d’augmenter les privilèges, d’effectuer des attaques de script intersite (XSS) stockées, selon les chercheurs de Ninja Technologies Network.

Le plugin WordPress est conçu pour permettre aux utilisateurs d’envoyer des fichiers à un administrateur de site Web. Chaque fichier est enregistré dans un répertoire privé, de sorte que chaque utilisateur peut gérer ses propres fichiers après la connexion.

XSS stocké

Le bogue XSS permet l’injection de contenu non authentifié, ont déclaré les chercheurs.

L’action AJAX non authentifiée « wpfm_edit_file_title_desc » charge une fonction (« wpfm_edit_file_title_desc ») qui est utilisée lorsque quelqu’un modifie un article de site Web. Cependant, il ne parvient pas à vérifier que les utilisateurs modifient leurs propres publications et manque de nonce de sécurité. Ainsi, un utilisateur non authentifié peut modifier le contenu et le titre de chaque page et publier sur le blog.

« De plus, si le type de publication est wpfm-files, il est possible d’injecter du code JavaScript dans le titre de la publication car le plugin s’appuie uniquement sur la fonction WordPress esc_attr pour nettoyer la variable $_REQUEST[‘file_title’], qui sera répercutée en dehors des attributs HTML dans la section backend », ont ajouté les chercheurs. « Le code JavaScript sera exécuté lorsqu’un utilisateur de niveau administrateur visitera les pages de paramètres du plugin. »

Par conséquent, un utilisateur non authentifié pourrait injecter du code JavaScript afin de créer un compte utilisateur de niveau administrateur.

Elévation de privilèges

Pendant ce temps, un problème d’élévation des privilèges provient de la fonction « wpfm_get_current_user », qui est utilisée pour récupérer un identifiant d’utilisateur à partir du script « nmedia-user-file-uploader/inc/helpers.php », selon une publication.

« Il récupère l’ID d’utilisateur à partir de la fonction WordPress get_current_user_id si l’utilisateur est authentifié, ou à partir de l’option wpfm_guest_user_id du plugin si l’utilisateur n’est pas connecté », ont expliqué les chercheurs. « Cependant, l’utilisateur, authentifié ou non, peut attribuer n’importe quel ID à la variable $_GET[‘file_owner’] afin de remplacer $current_user_id L318, ce qui pourrait entraîner une élévation des privilèges.»

wordpress themegrill demo importer

Modification des paramètres authentifiés et téléchargement arbitraire de fichiers

Un autre problème permet à un utilisateur authentifié de modifier les paramètres du plugin.

« La fonction ‘wpfm_save_settings’ du script ‘nmedia-user-file-uploader/inc/admin.php’ est chargée par l’action AJAX wpfm_save_settings (authentifiée) », ont expliqué les chercheurs.  » L’action est utilisée pour enregistrer les paramètres du plugin. Il n’y a pas de contrôle de capacité ou de nonce de sécurité. »

Ainsi, un attaquant peut l’exploiter en ajoutant PHP à la liste des types de fichiers autorisés.

« En utilisant l’action AJAX ‘wpfm_upload_file’, l’attaquant pourrait alors télécharger un script PHP qui serait enregistré et accessible en tant que ‘http://example.com/wp-content/uploads/user_uploads//.php,’ ce qui conduirait à l’exécution de code à distance », selon l’analyse.

Suppression d’article arbitraire non authentifiée

Un quatrième problème permet à un attaquant non authentifié de supprimer toutes les pages et de publier sur le blog.

« L’action AJAX non authentifiée » wpfm_delete_file « (non authentifiée) charge la fonction » wpfm_delete_file « à partir du script « nmedia-user-file-uploader/inc/files.php » », ont déclaré les chercheurs. « Il prend un ID, $_REQUEST[‘file_id’], et supprime l’article correspondant. »

Le problème est que le plugin ne vérifie pas que l’utilisateur est autorisé à supprimer l’article correspondant, et il manque un nonce de sécurité.

« Il n’y a qu’un appel à la fonction non sécurisée « wpfm_get_current_user » mais le résultat, « $ current_user », n’est même pas vérifié dans le code « , selon Ninja Technologies Network.

wordpress

Changement non-authentifié de metadonnées d’article et téléchargement arbitraire de fichiers

Les attaquants peuvent également modifier toutes les métadonnées d’article, ce qui pourrait conduire par exemple à un téléchargement arbitraire de fichiers, a déclaré la société.

« L’action AJAX .wpfm_file_meta_update (non authentifiée) charge la fonction » wpfm_file_meta_update « à partir du script « nmedia-user-file-uploader/inc/files.php » », ont expliqué les chercheurs. « Il est utilisé pour modifier les métadonnées de publication. Il n’y a pas de contrôle de capacité ou de nonce, et les données ne sont ni vérifiées ni nettoyées. »

Les attaquants peuvent exploiter la faiblesse pour modifier les métadonnées de publication en attribuant « wpfm_dir_path » à « $meta_key » et « wp-config.php » à « $meta_value », puis télécharger le script « w5p-config.php » au lieu du fichier téléchargé, selon l’analyse.

Injection HTML non authentifiée

Le dernier problème permet à un utilisateur non authentifié d’utiliser le blog comme relais de spam.

Le bug provient de la fonction « wpfm_send_file_in_email » dans le script « nmedia-user-file-uploader/inc/callback-functions.php », qui permet à un utilisateur d’envoyer un email

« Parce qu’il est envoyé au format HTML et qu’il n’est pas aseptisé, il est possible d’injecter du code HTML (formatage du texte, CSS, images etc.) afin de personnaliser entièrement l’email », selon l’article. « De plus, même si ‘$_REQUEST[‘file_id’]’ est vide ou invalide, le message sera quand même envoyé. »

Les malheurs des plugins WordPress

Pour se protéger des attaques, les utilisateurs doivent passer à la version 18.3 ou supérieure, publiée le 26 juin.

Les plugins de WordPress continuent d’offrir des bogues exploitables pour les attaquants cherchant à compromettre des sites Web.

En Janvier, des chercheurs ont mis en garde contre deux vulnérabilités (une critique) dans un plugin WordPress appelé Orbit Fox qui pourraient permettre aux attaquants d’injecter du code malveillant dans des sites Web vulnérables et/ou de prendre le contrôle d’un site Web.

Également ce mois-là, un plugin appelé PopUp Builder, utilisé par les sites Web WordPress pour créer des publicités contextuelles pour les abonnements à la newsletter, s’est avéré avoir une vulnérabilité qui pourrait être exploitée par des attaquants pour envoyer des newsletters avec un contenu personnalisé, ou pour supprimer ou importer des abonnés à la newsletter. .

En Février, il a été découvert qu’un bogue de sécurité de script intersite (XSS) non corrigé et stocké affectait potentiellement 50 000 utilisateurs du plug-in Contact Form 7 Style.

Et en Mars, il a été découvert que le plugin The Plus Addons for Elementor pour WordPress contenait une vulnérabilité de sécurité critique que les attaquants peuvent exploiter pour s’emparer rapidement, facilement et à distance d’un site Web. Signalé pour la première fois comme un bug zero-day, les chercheurs ont déclaré qu’il était activement attaqué dans la nature.

N’oubliez pas de jeter un coup d’œil à nos bons plans.

Laisser un commentaire