Il a été découvert que le plug-in de passerelle de paiement WooCommerce Stripe présentait une vulnérabilité permettant à un attaquant de voler des informations personnelles identifiables (PII) des clients dans les magasins utilisant le plug-in.
Les chercheurs en sécurité avertissent que les pirates n’ont pas besoin d’authentification pour réussir l’exploit, qui a reçu une note élevée de 7,5 sur une échelle de 1 à 10.
Plugin de passerelle de paiement WooCommerce Stripe
Le plugin de passerelle de paiement Stripe, développé par WooCommerce, Automattic, WooThemes et d’autres contributeurs, est installé sur plus de 900 000 sites Web.
Il offre aux clients des magasins WooCommerce un moyen simple de passer à la caisse, avec un certain nombre de cartes de crédit différentes et sans avoir à ouvrir de compte.
Un compte Stripe est automatiquement créé à la caisse, offrant aux clients une expérience d’achat en ligne sans friction.
Le plugin fonctionne via une interface de programmation d’application (API).
Une API est comme un pont entre deux logiciels qui permet à la boutique WooCommerce d’interagir avec le logiciel Stripe pour traiter les commandes du site Web vers Stripe de manière transparente.
Quelle est la vulnérabilité du plugin WooCommerce Stripe ?
Les chercheurs en sécurité de Patchstack ont découvert la vulnérabilité et l’ont divulguée de manière responsable aux parties concernées.
Selon les chercheurs en sécurité de Patchstack :
« Ce plugin souffre d’une vulnérabilité IDOR (Unauthenticated Insecure Direct Object Reference).
Cette vulnérabilité permet à tout utilisateur non authentifié d’afficher les données PII de toute commande WooCommerce, y compris l’e-mail, le nom de l’utilisateur et l’adresse complète.
Versions du plugin WooCommerce Stripe affectées
La vulnérabilité affecte les versions antérieures et égales à la version 7.4.0.
Les développeurs associés au plugin l’ont mis à jour vers la version 7.4.1, qui est la version la plus sécurisée.
Voici les mises à jour de sécurité effectuées, selon le changelog officiel du plugin :
- « Fix – Ajouter la validation de la clé de commande
- Correctif – Ajouter une désinfection et échapper à certaines sorties
Il y a quelques problèmes qui nécessitaient une solution.
Le premier semble être un manque de validation, qui est en général une vérification pour valider si une demande provient d’une entité autorisée.
Le suivant est la désinfection, qui fait référence à un processus de blocage de toute entrée non valide. Par exemple, si une entrée n’autorise que du texte, elle doit être configurée de manière à interdire le téléchargement des scripts.
Ce que le journal des modifications mentionne, c’est l’échappement des sorties, qui est un moyen de bloquer les entrées indésirables et malveillantes.
L’organisation de sécurité à but non lucratif, Open Worldwide Application Security Project (OWASP) l’explique ainsi :
« L’encodage et l’échappement sont des techniques défensives destinées à arrêter les attaques par injection. »
Le manuel officiel de l’API WordPress l’explique ainsi :
« Échapper à la sortie est le processus de sécurisation des données de sortie en supprimant les données indésirables, telles que les balises HTML ou de script mal formées.
Ce processus permet de sécuriser vos données avant de les restituer à l’utilisateur final.
Il est fortement recommandé aux utilisateurs du plugin de mettre immédiatement à jour leurs plugins vers la version 7.4.1
Lisez l’avis de sécurité sur Patchstack :
Divulgation IDOR à PII non authentifiée dans le plugin WooCommerce Stripe Gateway
Image sélectionnée par Shutterstock/FedorAnisimov