Le 21 mai 2021, l’équipe Wordfence Threat Intelligence a lancé le processus de divulgation responsable d’une vulnérabilité que nous avons découverte dans Gestionnaire de stock WooCommerce, un plugin WordPress installé sur plus de 30 000 sites. Cette faille permettait à un attaquant de télécharger des fichiers arbitraires sur un site vulnérable et d’exécuter du code à distance, tant qu’il pouvait amener l’administrateur d’un site à effectuer une action comme cliquer sur un lien.

Nous avons initialement contacté le développeur du plugin le 21 mai 2021. Après avoir reçu la confirmation d’un canal de communication approprié, nous avons fourni les détails complets de la divulgation le 24 mai 2021. Un correctif a été rapidement publié le 28 mai 2021 dans la version 2.6.0 .

Nous vous recommandons fortement de mettre à jour immédiatement vers la dernière version corrigée disponible, la 2.6.0.

Les utilisateurs de Wordfence Premium ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant ces vulnérabilités le 21 mai 2021. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 20 juin 2021.

La description: Contrefaçon de requête intersites (CSRF) vers un téléchargement de fichier arbitraire
Plugin concerné : Gestionnaire de stock WooCommerce
Plugin Slug : woocommerce-stock-manager
Versions concernées :
Identifiant CVE : CVE-2021-34619
Note CVSS : 8.8 (ÉLEVÉ)
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Des chercheurs: Chloé Chamberland
Version entièrement corrigée : 2.6.0

Le plugin WooCommerce Stock Manager est un plugin conçu comme une extension de WooCommerce qui offre aux propriétaires de sites la possibilité de gérer de manière centralisée le stock et les détails de tous les produits d’un site de commerce électronique sur une seule page. L’une des fonctionnalités du plugin est la possibilité d’exporter tous les produits et d’importer de nouveaux produits. Malheureusement, cette fonctionnalité présentait une faille qui permettait de falsifier des requêtes pour le compte d’un administrateur afin de télécharger des fichiers arbitraires.

En examinant de près la fonctionnalité, il était évident que la fonction d’importation n’avait pas de contrôle de nonce en place. Cela signifiait qu’il n’y avait aucune validation en place pour vérifier la source d’une demande. Cet oubli a permis à un attaquant avec une demande de téléchargement spécialement conçue de tromper un administrateur pour qu’il infecte son propre site en cliquant sur un lien tout en étant authentifié sur le site vulnérable.

	<form method="post" action="" class="setting-form" enctype="multipart/form-data">	
		<table class="table-bordered">
		  <tr>
			<th><?php _e('Upload csv file', 'woocommerce-stock-manager'); ?></th>
			<td>
			  <input type="file" name="uploadFile">
			</td>
		  </tr>
		</table>
		<div class="clear"></div>
	  <input type="hidden" name="upload" value="ok" />
	  <input type="submit" class="btn btn-info" value="<?php _e('Upload', 'woocommerce-stock-manager'); ?>" />
	</form>  
	<?php
	if(isset($_POST['upload'])){
  
		$target_dir = STOCKDIR.'admin/views/upload/';
		$target_dir = $target_dir . basename( $_FILES["uploadFile"]["name"]);
		$uploadOk   = true;

		if (move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_dir)) {
  
			echo __('The file '. basename( $_FILES['uploadFile']['name']). ' has been uploaded.','woocommerce-stock-manager');
	
			$row = 1;
			if (($handle = fopen($target_dir, "r")) !== FALSE) {
  
				while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
					$num = count($data);

De plus, il n’y avait aucune validation sur le téléchargement pour vérifier qu’il s’agissait d’un fichier CSV, ou à tout le moins pas un fichier malveillant. Cela signifiait que tout type de fichier pouvait être téléchargé sur le site, y compris, mais sans s’y limiter, les fichiers PHP pouvant être utilisés pour obtenir l’exécution de code à distance.

Si un attaquant réussissait à exploiter cette vulnérabilité, il pourrait potentiellement prendre complètement le contrôle du site WordPress vulnérable à l’aide de commandes à distance en téléchargeant un webshell PHP sur le site.

Comme toujours, vous pouvez vous protéger contre les tentatives d’exploitation de Cross-Site Request Forgery en restant prudent lorsque vous cliquez sur des liens ou des pièces jointes provenant de sources inconnues, même si ces liens se trouvent dans des commentaires ou des soumissions de formulaires de votre propre site.

Calendrier de divulgation

21 mai 2021 – Conclusion de l’analyse du plugin qui a conduit à la découverte de plusieurs vulnérabilités dans le plugin WooCommerce Stock Manager. Nous développons une règle de pare-feu pour protéger les clients de Wordfence et la diffusons aux utilisateurs de Wordfence Premium. Nous prenons contact avec le développeur du plugin.
24 mai 2021 – Le développeur du plugin confirme la boîte de réception pour gérer la discussion. Nous envoyons tous les détails de divulgation.
25 mai 2021 – Le développeur du plugin confirme qu’il a reçu les détails et commencera à travailler sur un correctif.
28 mai 2021 – Une nouvelle version mise à jour du plugin est publiée contenant suffisamment de correctifs.
20 juin 2021 – Les utilisateurs gratuits de Wordfence reçoivent des règles de pare-feu.

Conclusion

Dans l’article d’aujourd’hui, nous avons détaillé une faille dans WooCommerce Product Manager qui permettait aux attaquants de télécharger des fichiers malveillants pour exécuter du code à distance, s’ils pouvaient amener l’administrateur d’un site à effectuer une action. Cette faille a été entièrement corrigée dans la version 2.6.0. Nous recommandons aux utilisateurs de mettre immédiatement à jour vers la dernière version disponible, qui est la version 2.6.0 au moment de cette publication.

Wordfence Premium les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 21 mai 2021. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 20 juin 2021.

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


Source link