
CVE-2026-65891 PoC — Joomla Content Editor file rename vulnerability (auth required, fixed in JCE 2.20.2)
CVE-2026-65891 の概念実証(PoC)スキャナです。Joomla Content Editor (JCE) 拡張機能を対象としています。
JCE ファイルマネージャーの rename 関数における不適切な入力検証により、ファイル管理権限を持つ認証ユーザーが以下の操作を実行できてしまいます:
.shell.php)を作成する許可されたテストのみ。 自分が所有するシステム、または明示的なテスト許可を得たシステムでのみ使用してください。
| フィールド | 値 |
|---|---|
| CVE | CVE-2026-65891 |
| 製品 | JCE (com_jce) — Widget Factory Limited |
| 影響を受けるバージョン | JCE < 2.20.2 (through 2.20.1 / 2.9.99.9) |
| 修正版 | JCE 2.20.2+ (2026-07-29) |
| CVSS 3.1 | 6.5 中 |
| CWE | CWE-20 — 不適切な入力検証 |
| 認証 | 必要 — JCE のアップロード + rename 権限 |
| KEV | いいえ |
これは認証不要の RCE ではありません。CVE-2026-48907(JCE プロファイルインポート、認証不要)と混同しないでください。
JCE の browser / imgmanager rename ハンドラーは、拒否されるべき宛先ファイル名を受け入れていました:
. で始まる名前(POSIX では隠しファイル)2.20.2 で修正: rename / copy / move 時の拡張子検証と、サイレント上書きの防止。
check(認証情報なし)jce.xml / アセットから JCE バージョンを読み取りprobe / exploit(認証情報が必要)/administrator/ 経由でログイン(または --frontend-login)plugin.rpc(browser プラグイン)経由でマーカー .txt をアップロード.cve65891_<random>.txt(隠しファイル)にリネームGET /images/.cve65891_*.txt — マーカーが読み取れた場合 → EXPLOITEDgit clone https://github.com/YOUR_USER/CVE-2026-65891.git
cd CVE-2026-65891
pip install -r requirements.txt
必要条件: Python 3.10+
# Version / fingerprint scan (bulk, no auth)
python poc_cve_2026_65891.py -f targets.txt -m check -j 30 -o version_hits.txt
# Single target — full check
python poc_cve_2026_65891.py -u https://joomla.example -m check -v
# Authenticated rename test
python poc_cve_2026_65891.py -u https://joomla.example -m probe \
--user editor --pass 'YourPassword' -v
# Session cookie instead of password
python poc_cve_2026_65891.py -u https://joomla.example -m probe \
--cookie-file cookie.txt -v
EXPLOITED https://joomla.example joomla=True jce=True ver=2.20.1 auth=YES upload=YES rename=YES hidden=YES url=https://joomla.example/images/.cve65891_a1b2c3d4.txt
VULNERABLE https://site.example joomla=True jce=True ver=2.9.99.9 rename=YES err=rename_ok_but_hidden_not_readable
SUSPECT https://old.example joomla=True jce=True ver=2.20.1 err=need_auth_--user_--pass_or_--cookie-file
-o には VULNERABLE と EXPLOITED の行のみが書き込まれます。
テストアカウントには、以下の権限を持つ JCE エディタープロファイルが必要です:
通常は Editor、Manager、Administrator です。通常の登録ユーザーでは不十分です。
JCE を 2.20.2 以降にアップグレード
Extensions → Manage → Update または joomlacontenteditor.net からダウンロード
パッチ適用までの間: 信頼できないユーザーグループ(Image Manager、File Browser)に対して JCE プロファイル設定で Rename を無効にしてください。
以下への認証済みリクエストを探します:
POST /index.php?option=com_jce&task=plugin.rpc&plugin=browser
method=rename / renameItem と、. で始まる宛先名を伴うもの。
JCE のアップロードパス(/images/、/media/)配下にある予期しない隠しファイル。
このツールはセキュリティ研究、教育、および許可を得たペネトレーションテスト専用です。コンピューターシステムへの不正アクセスは違法です。作者は不正使用について一切の責任を負いません。
MIT — LICENSE を参照してください。
| フラグ | 説明 |
|---|
-u, --url | Joomla のベース URL(単一ターゲット) |
-f, --file | ターゲットリスト(1 行に 1 URL) |
-m, --mode | check・probe・exploit・full(デフォルト: full) |
-j, --threads | 並列ワーカー数(デフォルト: 15) |
-t, --timeout | HTTP タイムアウト秒数(デフォルト: 25) |
-o, --output | VULNERABLE / EXPLOITED のヒットのみ書き出す |
--user | Joomla ユーザー名 |
--pass | Joomla パスワード |
--cookie-file | 生の Cookie: ヘッダーファイル(ログインをスキップ) |
--upload-dir | JCE のアップロードディレクトリ(デフォルト: images) |
--frontend-login | 管理者ページではなくフロントエンド経由でログイン |
-v, --verbose | デバッグ出力 |
| モード | 認証 | 説明 |
|---|
check | 不要 | Joomla + JCE + バージョン |
probe | 必要 | アップロード + 隠しファイルへの rename + 検証 |
exploit | 必要 | probe と同じ |
full | 必要* | check の後に probe(*probe は認証が必要) |