Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-11551-PoC — Exploit de prova de conceito para CVE-2026-11551, uma vulnerabilidade de escalonamento de privilégio não autenticado no plugin Branda White Label para WordPress, possibilitando a tomada de conta via duplo hash de senha. | Kitploit
Ferramentas/GitHubGitHub/ubaydev/cve-2026-11551-poc
Escalada de PrivilégiosAnálise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAutenticação
GitHububaydev/cve-2026-11551-poc

CVE-2026-11551-PoC

Exploit de prova de conceito para CVE-2026-11551, uma vulnerabilidade de escalonamento de privilégio não autenticado no plugin Branda White Label para WordPress, possibilitando a tomada de conta via duplo hash de senha.

1há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

CVE-2026-11551 - Privilégio Não Autenticado no White Label & Branding, Customizador Gratuito da Página de Login

White Label & Branding, Customizador Gratuito da Página de Login <= 3.4.29 - Escalação de Privilégio Não Autenticada via Assunção de Conta

Fluxo Completo WordPress Core → Filtro Branda:

root@kitploit:~
wp_update_user( $userdata )
    │
    ├── wp_hash_password( $userdata['user_pass'] )   ← Line 2709: SUDAH DI-HASH
    │
    └── wp_insert_user( $userdata )
            │
            ├── $user_pass = $userdata['user_pass']  ← Line 2228: HASHED
            │
            ├── $data = compact('user_pass', ...)    ← Line 2469: HASHED
            │
            ├── apply_filters('wp_pre_inserter_id)
            │       │
            │       └── Branda: pre_insert_u
            │               │
            │               ├── query wp_sig['user_login']
            │               ├── if meta['pas
            │               │   $data['user_ta['password'])
            │               │                                        ↑
            │                           ┌───
            │                           │
            │                           ↓
            │               DOUBLE HASH: wp_d($raw))
            │
            └── $wpdb->update( $wpdb->users, $data, ... )  ← Line 2515: DOUBLE HASH TERSIMPAN

Código Vulnerável (inc/modules/login-screen/signup-password.php:230-251)

root@kitploit:~
/**
 * BRANDA - signup-password.php
 * Filter: wp_pre_insert_user_data
 */
public function pre_insert_user_data( $data,
    // ❌ TIDAK ADA CEK: if ($update) return
    // ❌ Filter ini JALAN untuk INSERT DAN

    if ( is_multisite() ) {
        global $wpdb;

        // ❌ $data['user_login'] dari POST n edit user
        $query = $wpdb->prepare(
            "SELECT meta FROM {$wpdb->signup
            $data['user_login']  // ← bisa diubah attacker
        );
        $result = $wpdb->get_var( $query );
        $meta   = maybe_unserialize( $result

        if ( is_array( $meta ) && isset( $me
            // ❌ DOUBLE HASH: WordPress SUDAH hash sebelum filter ini jalan
            // $meta['password'] = "mysecret
            // wp_hash_password("mysecretpasama dari WP core)
            // wp_hash_password("$P$Bxyz..."dari Branda)
            $data['user_pass'] = wp_hash_pas

            unset( $meta['password'] );
            $wpdb->update(
                $wpdb->signups,
                array( 'meta' => maybe_seria
                array( 'user_login' => $data
            );
        }
        return $data;
    }
    // ...
}

Código do WordPress Core que Causa a Vulnerabilidade:

  1. wp_update_user() — Line 2706-2709
root@kitploit:~
// wp-includes/user.php:2706
if ( ! empty( $userdata['user_pass'] ) && $u_user_data->user_pass ) {
    $plaintext_pass        = $userdata['user
    $userdata['user_pass'] = wp_hash_passwor // ← HASH #1
}
  1. wp_insert_user() — Line 2228
root@kitploit:~
// wp-includes/user.php:2228 (UPDATE path)
$user_pass = ! empty( $userdata['user_pass'] $old_user_data->user_pass;
// $user_pass sekarang = "$P$Bxyz...SUDAH HASH"
  1. wp_insert_user() — Line 2505
root@kitploit:~
// wp-includes/user.php:2505
$data = apply_filters( 'wp_pre_insert_user_dd, $userdata );
// Branda filter jalan, $data['user_pass'] SUDAH HASH dari line 2228

Cenário de Ataque: Assunção de Conta via Administrador

Configuração

  1. WordPress Multisite com Branda Signup
  2. Existe um signup pendente em wp_signups:
root@kitploit:~
   ┌─────────────┬──────────────────────────┐
   │ user_login   │ meta (serialized)       │
   ├─────────────┼──────────────────────────│
   │ victim_user  │ a:1:{s:8:"password";s:10:"H4cker123!"}│
   └─────────────┴──────────────────────────┴
  1. Alvo: Usuário "admin_user" (ID=2) com função Administrador

Fluxo de Exploração

PASSO 1: Atacante faz login no WP-Admin (pode ser web ou exploit CSRF para acionar ação de admin)

PASSO 2: Atacante abre /wp-admin/user-edit.php (editar admin_user)

PASSO 3: Atacante altera user_login de admin_user para "victim_user"

root@kitploit:~
        ┌────────────────────────────────────────────┐
        │ Campo: username                            │
        │ Valor: victim_user  ← ALTERADO             │
        └────────────────────────────────────────────┴

PASSO 4: Formulário é submetido → wp_update_user() é chamado

PASSO 5: Fluxo do WordPress Core:

root@kitploit:~
        wp_update_user({ID: 2, user_login: "victim_user", ...})
            │
            ├── user_pass = wp_hash_password(old_password)  ← HASH #1
            │
            └── wp_insert_user({ID: 2, user_login: "victim_user", user_pass: "$P$Bhash1"})
                    │
                    └── apply_filters('wp_pre_insert_user_data', $data, true, 2)
                            │
                            └── Branda: pre_insert_user_data()
                                    │
                                    ├── $data['user_login'] = "victim_user"
                                    │
                                    ├── SELECT meta FROM wp_signups WHERE user_login = "victim_user"
                                    │   → meta = 'a:1:{s:8:"password";s:10:"H4cker123!"}'
                                    │
                                    ├── $meta['password'] = "H4cker123!"
                                    │
                                    └── $datword("H4cker123!")
                                             ← HASH #2 (DUPLO!)

PASSO 6: Tabela wp_users atualizada:

root@kitploit:~
    ┌────┬────────────┬──────────────────────────────────┐
    │ ID │ user_login │ user_pass                        │
    ├────┼────────────┼──────────────────────────────────┼
    │ 2  │ victim_user│ $P$Bhash2  ← HASH DUPLO!        │
    └────┴────────────┴──────────────────────────────────┴

PASSO 7: admin_user agora:

root@kitploit:~
    - Nome de usuário: victim_user
    - Senha: H4cker123! mas HASHED 2x
    - Login falha! → Bloqueio de conta

PASSO 8: Enquanto isso, atacante pode:

root@kitploit:~
    - Fazer login com as credenciais do signup se a meta ainda não tiver sido limpa
    - Ou fazer signup novamente com o mesmo user_login

Referências:

  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/trunk/inc/modules/login-screen/signup-password.php?rev=3429115#L232
  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/tags/3.4.29/inc/modules/login-screen/signup-password.php#L232
  • https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/branda-white-labeling/branda-white-label-branding-free-login-page-customizer-3429-unauthenticated-privilege-escalation-via-account-takeover
Baixar ferramenta