
WordPress WAWP (Automation Web Platform) ≤ 4.8.6 における未認証の権限昇格。公開 REST サインアップとサニタイズされていない wawp_custom_fields を介して admin へ昇格。Python によるチェック/エクスプロイト PoC (PoCbit)。
WordPress プラグイン Automation Web Platform(automation-web-platform — WAWP / Notifications & OTP for WooCommerce)における CVE-2026-14281 の Python 3 PoC。
PoCbit に掲載 — コミュニティカタログ: https://pocbit.org/pocs/
PoC を実行すると PoCbit ヘッダーが出力され、JSONL 行には pocbit、pocbit_catalog、pocbit_page が含まれます。
| プラットフォーム | WordPress プラグイン |
| コンポーネント | Automation Web Platform (WAWP) |
| 影響を受けるバージョン | ≤ 4.8.6 |
| 修正バージョン | > 4.8.6(最新の安定版にアップグレード) |
| CVSS 3.1 | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| 認証 | 未認証 |
| ベクター | 公開 REST POST /wp-json/wawp/v1/signup/signup |
サインアップ REST ハンドラー(public_permissions_check)は wawp_custom_fields を受け付け、それを custom_fields_data にマッピングし、wp_insert_user() の後に許可リストなしで各キーを update_user_meta() で書き込みます。攻撃者は wp_capabilities と wp_user_level を設定して administrator 権限を取得できます。
関連コード(4.8.6): includes/api/class-wawp-rest-settings-api.php(/signup/(?P<op>…))、includes/auth-services/class-wawp-otp-service.php(wawp_custom_fields → custom_fields_data)、includes/auth-services/class-wawp-signup.php(finish_registration_logic)。
サインアップ OTP が有効な場合、最初の signup 呼び出しは otp_verify(チャレンジ送信)で停止することがあり、登録は OTP 後にのみ完了します — 完全な未認証管理者チェーンには OTP が無効であるか、別途 OTP バイパスが必要になる場合があります。その場合、PoC は otp_required を報告します。
pip install -r requirements.txt
Python 3.8+。
# Version + REST surface + optional live signup probe (creates a throwaway user if OTP off)
python poc.py -u https://target.example --mode check
# Register admin-capable user (authorized targets only)
python poc.py -u https://target.example --mode exploit --verify
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 20 --quiet
# JSON to stdout (single target)
python poc.py -u https://target.example --mode check 2>nul
| ファイル | 意味 |
|---|---|
cve_2026_14281_results.jsonl | ターゲットごとの完全な JSON |
hits.txt | 候補ホスト(check)または url|email|password(exploit) |
candidates.jsonl | check モードのサマリー |
body="/wp-content/plugins/automation-web-platform/"
body="/wp-json/wawp/"
所有しているシステム、またはテストの明示的な許可を得たシステムでのみ使用してください。
| ステータス | 意味 |
|---|
exploit_confirmed_probe | プローブサインアップが完了(OTP オフ); メタインジェクションパスが有効 |
vulnerable_otp_blocks_signup | プラグイン/バージョン + REST は OK; OTP ステップがワンショットサインアップをブロック |
vulnerable_rest_signup | 脆弱なバージョン; REST 到達可能(プローブは決定的でない) |
patched | バージョン > 4.8.6 |
no_plugin | プラグインが検出されない |