Le 8 juin 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 de paiement Stripe de WebToffee pour le plugin WooCommerce, qui est activement installé sur plus de 10 000 sites Web WordPress. Cette vulnérabilité permet à un attaquant d’accéder aux comptes des utilisateurs qui ont des commandes. Ces utilisateurs sont généralement des clients, mais peuvent inclure d’autres utilisateurs de haut niveau lorsque les bonnes conditions sont remplies.

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 19 juin 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 19 juillet 2023.

Nous avons contacté WebToffee le 8 juin 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 13 juin 2023. Nous tenons à féliciter l’équipe de développement de WebToffee pour sa réponse rapide et son correctif en temps opportun.

Nous exhortons les utilisateurs à mettre à jour leurs sites avec la dernière version corrigée du plug-in de paiement Stripe pour WooCommerce, version 3.7.8 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 Stripe Payment Plugin for WooCommerce pour WordPress est vulnérable au contournement de l’authentification dans les versions jusqu’à la version 3.7.7 incluse. Cela est dû à une vérification insuffisante de l’utilisateur fourni lors d’un paiement Stripe via le plugin. Cela permet aux attaquants non authentifiés de se connecter en tant qu’utilisateurs qui ont des commandes, qui sont généralement des clients.

Analyse technique

Le plugin de paiement Stripe pour WooCommerce, selon ses paramètres, intègre différentes méthodes de paiement Stripe. Par défaut, le plugin propose des paiements en ligne, ce qui signifie que les clients peuvent effectuer leurs transactions directement sur le site WordPress sans être redirigés vers le site Stripe.

Cependant, le plugin fournit également une option de redirection de paiement. Cela signifie que les clients peuvent choisir d’être redirigés vers le site Web de Stripe pour terminer leur processus de paiement. Cela leur permet d’avoir une expérience de paiement familière et sécurisée sur la plateforme Stripe. Pour activer l’option de redirection de paiement, vous devez configurer les paramètres du plug-in en conséquence.

L’examen du code révèle que Stripe Checkout a un lien d’annulation de commande. Si le client annule le paiement, il sera renvoyé sur le site WordPress.

public function eh_spg_stripe_cancel_order() {

	if ( ! EH_Helper_Class::verify_nonce( EH_STRIPE_PLUGIN_NAME, 'eh_checkout_nonce' ) ) {
		die( _e( 'Access Denied', 'payment-gateway-stripe-and-woocommerce-integration' ) );
	}

	$order_id = intval( $_GET['order_id'] );
	$order    = wc_get_order( $order_id );

	if ( isset( $_GET['createaccount'] ) && absint( $_GET['createaccount'] ) == 1 ) {
		$userID = ( WC()->version < '2.7.0' ) ? $order->user_id : $order->get_user_id();
		wc_set_customer_auth_cookie( $userID );
	}

	wc_add_notice( __( 'You have cancelled Stripe Checkout Session. Please try to process your order again.', 'payment-gateway-stripe-and-woocommerce-integration' ), 'notice' );
	wp_redirect( wc_get_checkout_url() );
	exit;
}

Si le lien contient le ‘createaccount‘ paramètre et sa valeur est ‘true‘, le plugin connectera le client en fonction de l’identifiant de la commande, sans aucune authentification. Cela signifie qu’il est possible de créer un lien qui se connecte automatiquement à n’importe quel compte utilisateur associé à une commande.

Un attaquant est limité aux utilisateurs sous lesquels il peut se connecter en raison du fait qu’il n’est possible de se connecter qu’en tant qu’utilisateur avec une commande. Compte tenu de l’exigence d’une commande, dans la plupart des cas, un attaquant ne pourra se connecter qu’en tant qu’utilisateur de niveau client. Cependant, il est courant que les responsables de magasin ou les administrateurs créent des commandes de test afin de vérifier la fonctionnalité de la commande. Dans ces cas, 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.

Le processus de commande normal ressemble à ceci :

Le processus d’exploit ressemble à ceci :

Calendrier de divulgation

8 juin 2023 – Découverte de la vulnérabilité Authentication Bypass dans Stripe Payment Plugin pour WooCommerce.
8 juin 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.
9 juin 2023 – Le fournisseur confirme la boîte de réception pour le traitement de la discussion.
9 juin 2023 – Nous envoyons les détails complets de la divulgation. Le fournisseur accuse réception du rapport et commence à travailler sur un correctif.
13 juin 2023 – Une version entièrement corrigée du plugin, 3.7.8, est publiée.
19 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é. Notez que nous avons retardé la règle de pare-feu pour éviter de casser complètement la fonctionnalité principale du plugin car elle n’était pas activement exploitée.
19 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 de paiement Stripe pour le plugin WooCommerce affectant les versions 3.7.7 et antérieures. Cette vulnérabilité permet aux pirates de contourner l’authentification et d’accéder aux comptes des utilisateurs qui ont des commandes. La vulnérabilité a été entièrement corrigée dans la version 3.7.8 du plugin.

Nous encourageons les utilisateurs de WordPress à vérifier que leurs sites sont mis à jour avec la dernière version corrigée du plugin de paiement Stripe 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 19 juin 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 19 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