Si vous avez reçu un e-mail de ma part vous renvoyant à cette page, c’est parce que votre site web semble utiliser une version vulnérable de Wallet System for WooCommerce (l’extension WordPress wallet-system-for-woocommerce, éditée par WP Swings). Cette page explique pourquoi cela compte et comment y remédier.

Cet avis concerne CVE-2026-42654, une faille de sévérité élevée (CVSS 7.1) dans le parcours de compte et de récupération de mot de passe de l’extension, qui pourrait permettre à une requête non autorisée d’accéder à un compte client. Elle affecte toutes les versions antérieures à 2.7.6 et est corrigée dans 2.7.6. Si vous utilisez une version concernée, mettez à jour Wallet System for WooCommerce vers 2.7.6 ou une version ultérieure (la dernière version, 2.7.8, est recommandée).

Un mot sur l’urgence, car elle diffère de celle d’autres avis que j’ai envoyés : il s’agit d’une faille d’accès aux comptes, et non d’une prise de contrôle du serveur ou d’un compte administrateur, et rien n’indique qu’elle soit exploitée. Cette page est une mise en garde préventive, et non un rapport d’incident. La mise à jour comble la faille, et aucune intervention d’urgence n’est nécessaire.

Il s’agit d’une faille d’une extension, et non du noyau de WordPress ou de WooCommerce. Un WordPress et un WooCommerce parfaitement à jour ne vous protègent pas si l’extension Wallet System for WooCommerce elle-même est sur une version concernée.

Ce message est-il légitime ?

Oui. Il s’agit d’un avis de bonne foi, selon le principe de la divulgation responsable, émanant d’un chercheur en sécurité indépendant. Je ne vous demande pas d’argent, de mots de passe ni d’accès à votre site, et je n’ai pas tenté de m’y introduire, de téléverser quoi que ce soit ni d’exploiter quoi que ce soit.

Je n’ai fait que consulter des fichiers publiquement visibles que votre site web fournit à chaque visiteur (de la même manière que votre page d’accueil est publique) et noter le numéro de version que l’extension Wallet System for WooCommerce publie dans son fichier README.txt public. Je n’ai spécifiquement pas touché au point d’accès vulnérable, et rien dans cette vérification ne touche à vos données, à votre zone d’administration ni à aucune partie privée de votre site (plus de détails sous Ce que j’ai fait et n’ai pas fait ci-dessous).

Si vous souhaitez vérifier qui je suis, consultez les coordonnées au bas de cette page et la page À propos.

Pourquoi cela compte

Wallet System for WooCommerce est un module complémentaire pour WooCommerce (environ 2 000 installations actives) qui permet à une boutique de proposer à ses clients un portefeuille numérique : les clients détiennent un solde, le rechargent et paient avec lors du passage en caisse. Dans les versions concernées, des actions privilégiées du portefeuille dans le parcours de compte et de récupération de mot de passe de l’extension étaient protégées par un jeton de sécurité partagé que l’extension distribuait à chaque visiteur, au lieu d’une véritable vérification des permissions liée à l’identité de l’auteur de la requête. Cette catégorie d’erreur s’appelle contournement d’authentification via un chemin ou un canal alternatif (CWE-288) : le chemin de connexion normal vérifie correctement l’identité, mais un chemin parallèle accepte le jeton partagé comme s’il prouvait l’autorisation.

L’effet pratique est qu’une requête arrivant par ce chemin parallèle, accessible à tout client enregistré (et une boutique qui exploite un portefeuille client autorise presque toujours l’inscription libre), pouvait agir comme un utilisateur autorisé et accéder à un compte client.

La faille a reçu un score de 7,1 sur 10 (sévérité élevée). Pour garder cela en perspective : il s’agit d’un problème d’accès aux comptes, il ne livre pas à lui seul votre serveur ni un compte administrateur à un attaquant, et il n’existe aucune indication d’exploitation active (elle ne figure pas dans le catalogue des vulnérabilités exploitées connues, Known Exploited Vulnerabilities, de la CISA, et je n’ai connaissance d’aucun signalement d’exploitation). Si mon e-mail a cité ce problème, cela signifie que la version signalée par votre site entre dans la plage concernée. Je n’ai pas testé si votre site en particulier est exploitable, seulement qu’il signale une version concernée.

La bonne nouvelle : la mise à jour vers la version corrigée comble la faille, et la mise à jour est simple.

Comment vérifier votre version

Vous n’êtes pas obligé de me croire sur parole quant à la version que vous utilisez.

Depuis le manifeste public (aucune connexion nécessaire) : ouvrez yourdomain.com/wp-content/plugins/wallet-system-for-woocommerce/README.txt dans un navigateur. Notez que cette extension fournit son fichier readme sous le nom README.txt (en majuscules), contrairement à de nombreuses extensions qui utilisent un readme.txt en minuscules. La ligne Stable tag: située près du haut est la version signalée par votre installation, et il s’agit du même fichier public que celui que j’ai lu.

Depuis la zone d’administration WordPress (si vous y avez accès) :

  1. Connectez-vous à votre tableau de bord WordPress (généralement à l’adresse yourdomain.com/wp-admin).
  2. Allez dans Extensions puis Extensions installées.
  3. Recherchez Wallet System for WooCommerce et notez la version affichée sous son nom.

Appliquez ensuite cette règle, et notez que les versions se comparent numériquement, et non alphabétiquement :

  • Toute version antérieure à 2.7.6 : concernée, mettez à jour maintenant. Chaque version antérieure comporte la faille ; il n’existe pas de version plus ancienne sûre.
  • 2.7.6 ou plus récente, y compris 2.7.7 et 2.7.8 : déjà corrigée.
  • Ne vous laissez pas tromper par l’ordre du texte : 2.5.11 est une version plus récente que 2.5.9, car 11 est supérieur à 9. Comparez chaque nombre l’un après l’autre plutôt que de lire la version comme du texte (ces deux exemples sont tous deux antérieurs à 2.7.6 et donc concernés ; l’important est de savoir comment lire les numéros de version en général).

Comment mettre à jour

La voie la plus sûre consiste à effectuer la mise à jour via WordPress lui-même, et à réaliser une sauvegarde au préalable :

  1. Sauvegardez votre site (fichiers et base de données) avant d’apporter des modifications. La plupart des hébergeurs proposent des sauvegardes en un clic, ou utilisez une extension de sauvegarde WordPress.
  2. Dans l’administration WordPress, allez dans Tableau de bord puis Mises à jour, ou Extensions puis Extensions installées. Si une mise à jour de Wallet System for WooCommerce est répertoriée, installez-la à partir d’ici.
  3. Si vous préférez la ligne de commande, WP-CLI fait la même chose : wp plugin update wallet-system-for-woocommerce.
  4. Si aucune mise à jour n’apparaît, vous pouvez obtenir la dernière version directement depuis la page de l’extension sur l’annuaire WordPress.org, Wallet System for WooCommerce, et mettre à jour via Extensions puis Ajouter une extension puis Téléverser une extension.
  5. Après la mise à jour, confirmez le nouveau numéro de version (2.7.6 ou ultérieure ; la dernière version 2.7.8 est recommandée) en suivant les étapes ci-dessus, et vérifiez que votre boutique et ses fonctionnalités de portefeuille fonctionnent normalement.

Tant que vous y êtes, il vaut la peine de confirmer que le noyau de WordPress, WooCommerce et vos autres extensions sont à jour, car le même principe s’applique à tous.

Après la mise à jour

La mise à jour vers 2.7.6 ou une version ultérieure comble la faille, et pour la plupart des boutiques, c’est là toute la tâche. Rien n’indique que cette faille ait été exploitée, donc aucune intervention d’urgence n’est nécessaire : vous n’avez pas besoin de considérer votre site comme compromis, de le mettre hors ligne ni de forcer des réinitialisations de mot de passe.

Comme la faille pouvait permettre à une requête non autorisée d’agir sur un compte client, un suivi de routine est judicieux : jetez un œil à l’activité récente des comptes et des portefeuilles à la recherche de tout élément inhabituel, par exemple des ajustements de solde de portefeuille que vous n’avez pas effectués, des demandes de retrait ou de fonds que vous ne reconnaissez pas, ou des modifications de comptes clients que vos clients n’ont pas demandées. Considérez cela comme un entretien ordinaire, du type de celui qu’une boutique effectue périodiquement, et non comme une réponse à incident. Si quelque chose semble effectivement anormal, les étapes habituelles s’appliquent (réinitialisez le mot de passe de ce client et examinez l’activité avec lui), et n’hésitez pas à me contacter pour toute question.

Ce que j’ai fait et n’ai pas fait

Pour être pleinement transparent sur la vérification derrière mon e-mail : je n’ai lu que des fichiers publics que votre site fournit déjà à chaque visiteur, en l’occurrence le fichier README.txt public de l’extension et votre page d’accueil. Je n’ai pas accédé à votre zone d’administration WordPress, à votre base de données ni à aucune partie privée du site. En particulier, je n’ai pas touché au point d’accès vulnérable, et je n’ai rien testé ni exploité.

Il s’agit d’une observation fondée sur la version : votre site signale une version dans la plage concernée. Un site situé dans cette plage peut déjà être protégé par d’autres moyens (par exemple un pare-feu applicatif web, ou un correctif rétroporté), donc cet avis n’est pas une affirmation que votre site était exploitable au moment de ma vérification.

Je n’ai pas de webmaster / je suis bloqué

Si vous n’êtes pas la personne qui gère le site, veuillez transférer cette page à celle qui s’en charge (votre développeur web, votre agence ou votre hébergeur). Elle reconnaîtra rapidement les étapes ci-dessus.

Si vous gérez le site vous-même et que vous êtes bloqué, je me ferai un plaisir de vous aiguiller dans la bonne direction, sans frais. Contactez-moi à l’aide des coordonnées ci-dessous.

Contact

Evan Harris, chercheur en sécurité

Je contacte les exploitants au sujet de problèmes comme celui-ci uniquement pour les aider à sécuriser leurs sites. Si vous préférez ne plus être contacté, faites-le-moi simplement savoir et je le respecterai.

Références

Avis officiels et suivi

Éditeur / extension