
Joomla JCE (CVE-2026-48907) 用の自動化された RCE エクスプロイト。インタラクティブシェル、バッチコマンド実行、ファイルダウンロード、および認可されたペネトレーションテストのためのプロキシサポートを備えています。

JCEzploit は、テスターが明示的な認可を持つ環境において、Joomla Content Editor (JCE) コンポーネントのプロファイルインポート機能を評価するためのコマンドライン セキュリティ調査ユーティリティです。管理された環境で報告されたリモートコード実行の状態を再現・検証する必要がある、プロフェッショナルのペネトレーションテスター、セキュリティ研究者、および防御担当者向けに設計されています。
このプロジェクトは、構造化されたコマンドライン ワークフロー、設定可能なプロキシサポート、複数の実行モード、診断出力、および対話型セッション インターフェースを提供します。オペレーターが所有するターゲット、または書面によるテスト認可の対象となるターゲットに対してのみ使用してください。
公開に関する注記: この README を公開または配布する前に、プロジェクトの CVE 識別子、影響を受けるバージョン範囲、修正バージョン、開示ステータス、およびテストマトリクスを、権威あるベンダーまたは脆弱性データベースの記録と照合して検証してください。以下のメタデータは提供されたプロジェクト情報を反映したものであり、独立した脆弱性の確認として扱うべきではありません。
このソフトウェアは、承認されていないターゲットに対して使用すると、不正アクセス、データ漏えい、サービス妨害、またはシステム侵害を引き起こす可能性があります。メンテナーは、第三者のシステム、公共インフラストラクチャ、または文書化された許可のないシステムへのテストを許可しません。
このプロジェクトを使用することにより、以下に同意したものとみなされます:
明示的な書面による認可を得ているシステムのみをテストすること。
承認されたスコープ、時間枠、レート制限、および交戦規則を定義し遵守すること。
不要なデータへのアクセス、変更、外部持ち出し、または保持を避けること。
活動がサービス妨害のリスクをもたらす場合、または無関係のユーザーに影響を与える場合は、直ちにテストを停止すること。
適用されるすべての法律、規制、契約、および組織の方針を遵守すること。
ソフトウェアの使用によって生じる結果に対する責任を受け入れること。
著者およびコントリビューターは、このプロジェクトを「現状のまま」提供しており、その使用から生じる誤用、損害、データ損失、法的請求、またはその他の結果について責任を負いません。
以下の詳細はプロジェクトとともに提供されたものであり、セキュリティアドバイザリまたは本番環境の評価で使用する前に、独立した検証が必要です。
| フィールド | 提供されたプロジェクト詳細 |
|---|---|
| 脆弱性識別子 | CVE-2026-48907 |
| 報告された問題 | 認証不要のリモートコード実行 |
| 報告された影響を受けるバージョン | JCE 1.0.0 から 2.9.99.4 |
| 報告された修正バージョン | JCE 2.9.99.5 |
| 提供されたテスト環境 | Joomla 3.10.11、JCE 2.9.15、Apache 2.4、PHP 7.4 |
| 報告された重大度 | 緊急; システム全体が侵害される可能性 |
防御的な作業では、まず導入されている Joomla および JCE のバージョンを確認し、認可を取得し、ロールバック計画を作成し、可能な場合は常に非破壊的な検証方法を優先してください。
JCEzploit には、プロジェクト資料に記載されている以下の機能が含まれています:
| 領域 | 機能 |
|---|---|
| ワークフロー | 自動化されたリクエスト準備と脆弱性検証ワークフロー |
| セッションインターフェース | 履歴、補完、色付き出力を備えた対話型コマンドセッション |
| 実行モード | 対話型、単一コマンド、バッチ、quiet、verbose、およびデバッグ向けモード |
| 検出 | 複数のフォールバックパターンによる CSRF トークン検出 |
| ネットワーク制御 | 管理されたリクエスト検査のための HTTP/HTTPS プロキシサポート |
| 信頼性 | 接続プーリング、タイムアウト、およびエラー処理 |
| ファイル操作 | 認可された評価シナリオのためのファイル取得機能 |
| プラットフォームサポート | Python 3.6+ を備えた Linux、macOS、Windows 環境 |
対話型インターフェースは、次のようなコマンドをサポートしています。承認されたテスト環境では、非破壊的なコマンドのみを使用してください。
$> whoami # Display the execution identity
$> id # Display user and group information
$> pwd # Display the current working directory
$> exit # Close the session
| 要件 | 最小値またはサポート値 |
|---|---|
| Python | 3.6 以降 |
| パッケージマネージャー | pip |
| オペレーティングシステム | Linux、macOS、または Windows |
| ネットワークアクセス | 依存関係のインストールと認可されたテストターゲットへの到達にのみ必要 |
正確な依存関係セットは requirements.txt で定義されています。仮想環境を使用して、プロジェクトの依存関係をホストシステムから分離してください。
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
cd JCEzploit-CVE-2026-48907
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
chmod +x jcezploit.py
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
Set-Location JCEzploit-CVE-2026-48907
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
PowerShell の実行ポリシーによってアクティベーションが妨げられる場合は、セキュリティ制御をグローバルに弱めるのではなく、組織のエンドポイント管理ポリシーを確認してください。スクリプトは仮想環境のインタープリターを介して直接呼び出すこともできます。
pip install pipenv
pipenv install requests rich
pipenv shell
python jcezploit.py --help
リポジトリにメンテナンスされた Dockerfile が含まれている場合は、隔離された認可済みの実験室環境でビルドして実行してください:
docker build -t jcezploit .
docker run --rm -it jcezploit --help
機密のホストディレクトリ、本番環境の認証情報、または無制限のホストネットワークをコンテナにマウントしないでください。
常にターゲットスコープを確認し、組み込みのヘルプを表示することから始めてください:
python jcezploit.py --help
提供されたコマンドライン インターフェースを以下にまとめます。
usage: jcezploit.py [-h] -u URL [--proxy PROXY] [-v] [-q]
[--cmd CMD] [--interactive] [--batch FILE]
[--no-confirm]
JCEzploit - Joomla JCE security testing utility
options:
-h, --help Show this help message and exit
-u, --url URL Authorized target base URL (required )
--proxy PROXY HTTP proxy, for example http://127.0.0.1:8080
-v, --verbose Enable diagnostic output
-q, --quiet Suppress non-essential output
--cmd CMD Execute one approved test command and exit
--interactive Start an interactive test session
--batch FILE Read approved test commands from a file
--no-confirm Skip the confirmation prompt; use only in automation
以下の例は呼び出しパターンを示しています。ターゲットは、明示的に認可されたラボまたは評価用エンドポイントに置き換えてください。
# Start an interactive assessment session.
python jcezploit.py --url http://authorized-lab.example --interactive
# Execute a low-impact identity check.
python jcezploit.py --url http://authorized-lab.example --cmd "id"
# Route requests through a local inspection proxy.
python jcezploit.py \
--url http://authorized-lab.example \
--proxy http://127.0.0.1:8080 \
--interactive \
--verbose
事前に承認された非破壊的な検証手順のみを含むコマンドファイルを作成してください:
# commands.txt
whoami
id
pwd
承認されたターゲットに対してバッチファイルを実行します:
python jcezploit.py --url http://authorized-lab.example --batch commands.txt
管理された環境でのリクエストフローのトラブルシューティングや、評価レポート用の証拠収集時には --verbose を使用してください。承認された自動化パイプラインに出力を統合する場合は --quiet を使用してください。共有ログにシークレット、セッショントークン、レスポンス本文、または個人データを保存しないでください。
このプロジェクトはコマンドライン設定を受け付けます。実装が明示的にサポートしている場合、ラッパーやローカルラン ブックで以下の環境変数の慣例を使用できます:
TARGET_URL=http://authorized-lab.example
PROXY=http://127.0.0.1:8080
VERBOSE=true
QUIET=false
.env ファイル、認証情報、トークン、ターゲットインベントリ、取得したレスポンス、または評価結果をバージョン管理にコミットしないでください。ローカル設定ファイルを .gitignore に追加し、適切な場合はシークレットマネージャーを使用してください。
JCEzploit/
├── jcezploit.py # Main command-line program
├── requirements.txt # Runtime dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── .gitignore # Ignored local and generated files
├── setup.sh # Optional setup helper
├── sample_commands.txt # Example command file
├── Dockerfile # Container build definition
├── verify.py # Dependency verification helper
└── docs/
├── vulnerability_details.md
├── pentest_guide.md
└── changelog.md
上記のツリーは提供されたプロジェクト構成を反映しています。ファイルが追加、削除、または名前変更された場合は更新してください。
リポジトリがメンテナンスされた requirements-dev.txt ファイルを提供している場合にのみ、開発依存関係をインストールしてください:
pip install -r requirements-dev.txt
python -m pytest tests/
プルリクエストを開く前に、変更が文書化されていること、テストが成功すること、エラー処理が明確であること、およびコミットにターゲットデータやシークレットが含まれていないことを確認してください。解析、入力検証、プロキシ処理、タイムアウト動作、および安全な失敗パスのための回帰テストを追加してください。
プロフェッショナルな評価では、可能な場合は常に専用のテスト環境を使用する必要があります。検証前にバックアップまたはスナップショットを作成し、緊急停止手順を定義し、アプリケーションとホストの健全性を監視し、テスト期間中はシステム所有者と調整してください。
このツールを、永続化の確立、追加のマルウェアの展開、監視の回避、無関係なアカウントへのアクセス、機密ファイルのダンプ、またはラテラルムーブメントに使用してはなりません。証拠収集は、調査結果を実証するために必要なものに限定し、クライアントのデータ取り扱い要件に従う必要があります。
テストによってこれまで知られていなかった問題が明らかになった場合は、エクスプロイトの詳細を直ちに公開しないでください。影響を受けるベンダーまたはプロジェクトに非公開で通知し、再現可能な防御的証拠を提供し、是正のための妥当な時間を許可し、公開開示を調整してください。プロジェクトの公開されたセキュリティ報告ガイダンスについては、Joomla Security Centre を参照してください。
責任ある防御的な調査を支援するセキュリティ専門家および開発者からのコントリビューションを歓迎します。重要な変更の前に、スコープと安全性の期待について話し合えるよう、イシューを開いてください。
一般的なコントリビューション ワークフローは次のとおりです:
git checkout -b feature/documentation-improvement
# Make and test your changes
git add .
git commit -m "Improve documentation"
git push origin feature/documentation-improvement
プルリクエストでは、対処する問題を説明し、変更内容を記述し、テストカバレッジを特定し、互換性または安全性への影響を文書化してください。Python コードには PEP 8 に従い、明確なエラーメッセージを優先し、シークレットの埋め込みを避け、プロジェクトの倫理的利用の保護策を維持してください。
プロジェクトの初回リリース。
報告された JCE セキュリティテストワークフローを追加。
対話型セッションサポートを追加。
認可されたテスト用のファイル取得機能を追加。
バッチコマンド処理を追加。
プロキシサポートを追加。
リッチなコマンドライン出力を追加。
クロスプラットフォームサポートを追加。
防御的検証のカバレッジを拡大。
サポートされている Joomla および JCE バージョン間の互換性テストを改善。
構造化された評価レポート出力を追加。
より強力な入力検証とより安全なデフォルト動作を追加。
自動化されたユニットテストおよび統合テストを追加。
再現可能な調査のための文書化された実験室セットアップを提供。
このプロジェクトは MIT ライセンスの下で配布されています。完全なライセンス条文については LICENSE を参照してください。
MIT License
Copyright (c) 2024 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Sudeepa Wanigarathna
セキュリティ研究者およびペネトレーションテスター
このプロジェクトは、責任を持って、合法的に、そして明示的な認可がある場合にのみ使用してください。