🎉 Saviez-vous que nous organisons un Extravagance du Bug Bounty encore?

Gagnez plus 6x nos tarifs de prime habituelsjusqu'à 10 000 $, pour toutes les vulnérabilités soumises jusqu'au 29 février 2024 lorsque vous choisissez que Wordfence gère la divulgation responsable !


Le 5 décembre 2023, peu après le lancement de notre Holiday Bug Extravaganza, nous avons reçu une soumission concernant une vulnérabilité de suppression arbitraire de fichiers dans Formulaire MW WPun plugin WordPress avec plus de 200 000 installations actives.

Des accessoires pour Thomas Sanzey qui a découvert et signalé cette vulnérabilité de manière responsable via le programme Wordfence Bug Bounty. Ce chercheur a gagné une prime de 1 275,00 $ pour cette découverte lors de notre extravagance du programme Bug Bounty.

Tous Wordfence Premium, Entretien de la clôture des motset Réponse de Wordfence les clients, ainsi que ceux qui utilisent encore la version gratuite de notre plugin, sont protégés contre tout exploit ciblant cette vulnérabilité par la protection intégrée d'inclusion de fichiers locaux du pare-feu Wordfence.

Nous avons contacté l'équipe Web-Soudan le 6 décembre 2023 et avons reçu une réponse le 6 décembre 2023. Après avoir fourni tous les détails le lendemain, le développeur a publié un correctif le 15 décembre 2023. Nous tenons à féliciter The Web -L'équipe Soudan pour sa réponse rapide et son correctif opportun.

Nous invitons les utilisateurs à mettre à jour leurs sites avec la dernière version corrigée de MW WP Form, à savoir la version 5.0.4, dès que possible.

Résumé des vulnérabilités de Wordfence Intelligence

Le plugin MW WP Form pour WordPress est vulnérable à la suppression arbitraire de fichiers dans toutes les versions jusqu'à la 5.0.3 incluse. Cela est dû au fait que le plugin ne valide pas correctement le chemin d'un fichier téléchargé avant de le supprimer. Cela permet à des attaquants non authentifiés de supprimer des fichiers arbitraires, y compris le fichier wp-config.php, ce qui peut rendre possible la prise de contrôle du site et l'exécution de code à distance.

Analyse technique

Le plugin MW WP Form fournit un générateur de formulaire basé sur un shortcode, avec de nombreux champs personnalisables et de nombreuses options de formulaire utiles. Les fichiers peuvent également être téléchargés sur le formulaire avec le [mwform_file name="file"] champ de code court. Le formulaire peut être soumis avec le [mwform_submitButton] champ de code court, qui est le bouton « Confirmer et soumettre ». Il s'agit d'une option de soumission spéciale, car il y a une confirmation puis une soumission, le traitement du formulaire comporte donc deux parties distinctes.

L'examen du code révèle que le plugin utilise le _template_redirect() fonctionner dans le MW_WP_Form_Main_Controller classe pour gérer ce type de demande de soumission de formulaire. La condition de publication peut être « confirmer » ou « complète » en fonction des données de publication.

if ( 'complete' === $view_flg ) {
	$is_mail_sended = $this->_send();
}

Lorsque le formulaire est soumis et que la condition de publication est « complète », il appelle le _send() fonction pour envoyer l'e-mail, et cette fonction récupère les pièces jointes déjà téléchargées à partir des données de publication. Ceci appelle alors le send_admin_mail() fonctionner dans le MW_WP_Form_Mail_Service classe, qui contient l'extrait de code suivant :

// If not usedb, remove files after sending admin mail
if ( ! $this->Setting->get( 'usedb' ) ) {
	$this->_delete_files();
}

Le fichier est stocké sur le serveur et enregistré dans la base de données si l'option « Enregistrement des données de demande dans la base de données » est sélectionnée dans les paramètres du formulaire. Si le fichier n'est pas enregistré dans la base de données, il supprime immédiatement le fichier téléchargé après l'envoi de l'e-mail.

/**
 * Delete attachment files.
 */
protected function _delete_files() {
	foreach ( $this->attachments as $file ) {
		if ( file_exists( $file ) ) {
			unlink( $file );
		}
	}
}

Malheureusement, les pièces jointes reçues à partir des données de publication dans le formulaire de demande de soumission ne sont ni validées ni nettoyées. Cela signifie que les attaquants peuvent spécifier n'importe quel fichier du serveur à supprimer. Cela permet à l'attaquant de supprimer n'importe quel fichier arbitraire sur le serveur, y compris le fichier du site. wp-config.php déposer. Suppression wp-config.php force le site dans un état de configuration, permettant à un attaquant de prendre le contrôle en le redirigeant vers une base de données sous son contrôle.

Le processus d'exploitation complet ressemble à ceci :

Pare-feu Wordfence

Le graphique suivant montre les étapes d'exploitation qu'un attaquant pourrait suivre et à quel point le pare-feu Wordfence empêcherait un attaquant d'exploiter avec succès la vulnérabilité.

La règle de pare-feu Wordfence détecte le chemin du fichier malveillant et bloque la demande.

Note importante

Nous attirons à nouveau l'attention sur le fait que la vulnérabilité n'affecte de manière critique que les utilisateurs qui disposent d'un bouton « Confirmer et soumettre » dans le formulaire et qui ont également désactivé l'option « Enregistrement des données de demande dans la base de données » dans les paramètres du formulaire, car le Le plugin supprime uniquement le fichier spécifié par l'utilisateur sans nettoyer le nom de fichier dans cette configuration. Cela signifie que tous les utilisateurs exécutant le plugin ne seraient pas intrinsèquement vulnérables, mais nous recommandons néanmoins de mettre à jour immédiatement car les attaquants sont intelligents et pourraient enchaîner les vulnérabilités des plugins pour parvenir à une prise de contrôle complète du site.

Chronologie de la divulgation

6 décembre 2023 – Nous recevons la soumission de la vulnérabilité de suppression arbitraire de fichiers dans le formulaire MW WP via le programme Wordfence Bug Bounty.
6 décembre 2023 – Nous validons le rapport et confirmons l’exploit de preuve de concept.
6 décembre 2023 – Nous prenons contact avec le fournisseur du plugin en lui demandant de confirmer la boîte de réception pour gérer la discussion.
6 décembre 2023 – Le vendeur confirme la boîte de réception pour gérer la discussion.
7 décembre 2023 – Nous envoyons les détails complets de la divulgation. Le fournisseur accuse réception du rapport et commence à travailler sur un correctif.
15 décembre 2023 – La version entièrement corrigée du plugin, 5.0.4, est publiée.

Conclusion

Dans cet article de blog, nous avons détaillé une vulnérabilité de suppression arbitraire de fichiers au sein du Formulaire MW WP plugin affectant les versions 5.0.3 et antérieures. Cette vulnérabilité permet à des acteurs malveillants non authentifiés de supprimer des fichiers arbitraires, y compris le fichier wp-config.php, ce qui peut rendre possible la prise de contrôle du site et l'exécution de code à distance. La vulnérabilité a été entièrement corrigée dans la version 5.0.4 du plugin.

Nous encourageons les utilisateurs de WordPress à vérifier que leurs sites sont mis à jour avec la dernière version corrigée de MW WP Form.

Tous les utilisateurs de Wordfence, y compris ceux qui utilisent Wordfence Premium, Entretien de la clôture des motset Réponse de Wordfenceainsi que les sites exécutant toujours la version gratuite de Wordfence, sont entièrement protégés contre cette vulnérabilité.

Si vous connaissez quelqu'un qui utilise ce plugin sur son site, nous vous recommandons de partager cet avis avec lui pour garantir la sécurité de son site, car cette vulnérabilité présente un risque important.


Source link