Le 29 mai 2023, notre équipe Wordfence Threat Intelligence a identifié et lancé le processus de divulgation responsable d’une vulnérabilité de contournement d’authentification dans Plugin Abandoned Cart Lite pour WooCommerce de Tyche Softwares, qui est activement installé sur plus de 30 000 sites Web WordPress. Cette vulnérabilité permet à un attaquant d’accéder aux comptes des utilisateurs ayant abandonné leur panier, qui sont généralement des clients mais peuvent s’étendre à d’autres utilisateurs de haut niveau lorsque les bonnes conditions sont réunies.

Wordfence Premium, Soins des motset Réponse Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 7 juin 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 7 juillet 2023.

Nous avons contacté Tyche Softwares le 30 mai 2023 et avons reçu une réponse le lendemain. Après avoir fourni tous les détails de la divulgation, le développeur a publié un correctif le 6 juin 2023. Nous tenons à féliciter l’équipe de développement de Tyche Softwares pour sa réponse rapide et son correctif opportun.

Nous exhortons les utilisateurs à mettre à jour leurs sites avec la dernière version corrigée de Abandoned Cart Lite pour WooCommerce, version 5.15.1 au moment de la rédaction de cet article, dès que possible.

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

Le plug-in Abandoned Cart Lite for WooCommerce pour WordPress est vulnérable au contournement de l’authentification dans les versions jusqu’à la version 5.14.2 incluse. Cela est dû à un cryptage insuffisant de l’utilisateur fourni lors du décodage du lien du panier abandonné via le plugin. Cela permet aux attaquants non authentifiés de se connecter en tant qu’utilisateurs ayant abandonné le panier, qui sont généralement des clients.

Analyse technique

Le plugin Abandoned Cart Lite pour WooCommerce, selon ses paramètres, envoie une notification aux clients qui n’ont pas terminé le processus d’achat, qui ont, en d’autres termes, abandonné leur panier. La notification contient un lien qui connecte automatiquement le client pour poursuivre son achat. L’examen du code révèle que le lien contient une valeur cryptée, qui identifie le panier abandonné.

$validate_server_string = isset( $_GET ['validate'] ) ? rawurldecode( wp_unslash( $_GET ['validate'] ) ) : '';
$validate_server_string = str_replace( ' ', '+', $validate_server_string );
$validate_encoded_string = $validate_server_string;
$crypt_key = get_option( 'wcal_security_key' );
$link_decode = Wcal_Aes_Ctr::decrypt( $validate_encoded_string, $crypt_key, 256 );
$sent_email_id_pos = strpos( $link_decode, '&' );
$email_sent_id = substr( $link_decode, 0, $sent_email_id_pos );

Le lien ne fonctionne que s’il contient la valeur correctement cryptée, ce qui nécessite la création de la clé de cryptage. Cependant, nous avons constaté que la clé de chiffrement est codée en dur dans le plug-in, ce qui signifie que les pirates y ont également accès. De ce fait, il est possible de créer un lien à l’aide de la clé qui inclut l’identifiant de panier abandonné d’autres utilisateurs, puisque chaque identifiant de panier est un nombre séquentiellement croissant à partir de un.

$get_ac_id_results = $wpdb->get_results(
	$wpdb->prepare(
		'SELECT abandoned_order_id FROM `' . $wpdb->prefix . 'ac_sent_history_lite` WHERE id = %d',
		$email_sent_id
	)
);
$abandoned_id      = $get_ac_id_results[0]->abandoned_order_id;
$get_user_results = array();
if ( $abandoned_id > 0 ) {
	$get_user_results  = $wpdb->get_results( //phpcs:ignore
		$wpdb->prepare(
			'SELECT user_id FROM `' . $wpdb->prefix . 'ac_abandoned_cart_history_lite` WHERE id = %d',
			$abandoned_id
		)
	);
}
$user_id = isset( $get_user_results ) && count( $get_user_results ) > 0 ? (int) $get_user_results[0]->user_id : 0;
wp_set_auth_cookie( $user_id );

Un attaquant est limité aux utilisateurs avec lesquels il peut se connecter en raison du fait qu’il n’est possible de se connecter qu’en tant qu’utilisateur avec un panier abandonné. Compte tenu de l’exigence d’un panier abandonné, dans la plupart des cas, un attaquant ne pourra se connecter qu’en tant qu’utilisateur de niveau client. Cependant, il est possible qu’en exploitant la vulnérabilité de contournement d’authentification, un attaquant puisse accéder à un compte d’utilisateur administratif ou à un autre compte d’utilisateur de niveau supérieur s’il a testé la fonctionnalité de panier abandonné.

Avis de sécurité et recommandation

Nous aimerions également attirer l’attention sur le fait que les développeurs ont rendu la fonctionnalité rétrocompatible dans la version 5.15.0, ce qui signifie que les anciens paniers abandonnés peuvent être exploités même si le plugin est mis à jour. Par conséquent, compte tenu des risques et des inconvénients, nous recommandons aux propriétaires de sites de supprimer les anciens paniers abandonnés s’ils utilisent cette version, pour laquelle une action groupée est disponible dans le plugin.

La capture d’écran montre comment supprimer les anciens paniers abandonnés en tant que propriétaire de site Web.

Un renforcement supplémentaire de la sécurité a été introduit dans la version 5.15.1 qui garantit que les sites ne sont plus vulnérables via d’anciens liens de panier abandonnés.

Calendrier de divulgation

29 mai 2023 – Découverte de la vulnérabilité Authentication Bypass dans Abandoned Cart Lite pour WooCommerce.
30 mai 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.
31 mai 2023 – Le fournisseur confirme la boîte de réception pour gérer la discussion.
31 mai 2023 – Nous envoyons les détails complets de la divulgation. Le fournisseur accuse réception du rapport et commence à travailler sur un correctif.
6 juin 2023 – Une version entièrement corrigée du plugin, 5.15.0, est publiée.
7 juin 2023 – Les utilisateurs de Wordfence Premium, Care et Response reçoivent une règle de pare-feu pour assurer une protection contre tout exploit susceptible de cibler cette vulnérabilité. Veuillez noter que nous avons retardé la règle de pare-feu pour éviter de casser complètement la fonctionnalité principale du plugin.
7 juillet 2023 – Les utilisateurs de Wordfence Free bénéficient de la même protection.

Conclusion

Dans cet article de blog, nous avons détaillé une vulnérabilité de contournement d’authentification dans le Plugin Abandoned Cart Lite pour WooCommerce affectant les versions 5.14.2 et antérieures. Cette vulnérabilité permet aux pirates de contourner l’authentification et d’accéder aux comptes des utilisateurs qui ont abandonné leur panier. La vulnérabilité a été entièrement corrigée dans la version 5.15.0 du plugin.

Nous encourageons les utilisateurs de WordPress à vérifier que leurs sites sont mis à jour avec la dernière version corrigée d’Abandoned Cart Lite pour WooCommerce.

Wordfence Premium, Soins des motset Réponse Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 7 juin 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 7 juillet 2023.

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.

Pour les chercheurs en sécurité qui cherchent à divulguer des vulnérabilités de manière responsable et à obtenir un ID CVE, vous pouvez soumettez vos découvertes à Wordfence Intelligence et potentiellement gagner une place sur notre classement.


Source link