Joomlaエクステンションのゼロデイ2件、悪用確認でCISAがKEVに追加(CVE-2026-48939 / CVE-2026-56291)

この記事は約18分で読めます。

2026年7月10日、米国サイバーセキュリティ・社会基盤安全保障庁(CISA)は、JoomlaのサードパーティエクステンションであるiCagendaのCVE-2026-48939と、Balbooa FormsのCVE-2026-56291を、既知の悪用された脆弱性カタログ(KEV Catalog)に追加しました。両CVEについて、Joomla! Project CNAはCVSS v4.0で最大値となる10.0を付与しています。また、CISAのSSVC評価はいずれも、悪用状況「Active」、自動化可能性「Yes」、技術的影響「Total」です。米連邦政府の文民行政機関(FCEB)向けの是正期限として2026年7月13日が設定されています。

CVE-2026-48939は、iCagendaのファイル添付機能に存在する危険なファイルのアップロード脆弱性です。Joomla 6.0.0〜6.1.1では、同じイベント送信処理に存在したアクセス制御不備と組み合わさることで、未認証の攻撃者によるリモートコード実行につながります。アクセス制御不備自体は他のJoomlaバージョンにも影響し、匿名ユーザーが未承認イベントを作成できます。CVE-2026-56291はBalbooa Forms 2.4.0以前に存在する未認証ファイルアップロード脆弱性で、攻撃者が実行可能ファイルをアップロードし、そのファイルにアクセスするとリモートコード実行につながります。iCagendaのようなJoomlaコアのバージョンによる限定は、現在の公開情報では示されていません。

両脆弱性を発見・報告したのはPhil Taylor氏が運営するJoomla・WordPressサイト管理サービス、mySites.guruです。発見の起点はハニーポットや事前のコードレビューではなく、顧客サイトの実アクセスログでした。その後、コードレビューと概念実証によって脆弱性を確認したうえで開発元へ責任開示を行い、JoomliCは報告当日、Balbooaは翌日に修正版を公開しました。

事案の全体像

項目 CVE-2026-48939 (iCagenda) CVE-2026-56291 (Balbooa Forms)
CVSS v4.0スコア 10.0(Critical) 10.0(Critical)
CWE CWE-434 (Unrestricted Upload of File with Dangerous Type) CWE-434 (Unrestricted Upload of File with Dangerous Type)
脆弱性の性質 危険なファイルのアップロード(CWE-434)。同じイベント送信処理にアクセス制御不備も存在 未認証任意ファイルアップロード
影響製品 iCagenda (Joomlaイベントカレンダーコンポーネント) Balbooa Forms (Joomlaフォームビルダーコンポーネント)
影響バージョン 3.2.1〜3.9.14 (3.xライン)、4.0.0〜4.0.7 (4.xライン) 2.4.0以前
修正版 4.0.8 (2026年6月15日リリース)、3.9.15 (2026年6月16日、レガシー3.x) 2.4.1 (2026年7月9日リリース)
RCE成立条件 Joomla 6.0.0〜6.1.1で成立(JoomliCの影響表ではiCagenda 3.9.14〜4.0.7)。それ以外の環境でも、アクセス制御回避による未承認イベント作成の影響あり 公開情報ではJoomlaコアのバージョンによる限定は示されていない
ベンダー JoomliC (Cyril Reze氏) Balbooa
発見者 Phil Taylor氏 (mySites.guru) Phil Taylor氏 (mySites.guru)
発見経緯 顧客サイトのアクセスログでicagenda-batch/1.0という自動スキャナーの活動を検知 Hetznerからの不正利用に関する通知(abuse report)を受けた顧客が生アクセスログをmySites.guruに提示
悪用の確認状況 JoomliCは2026年6月15日08:00 UTCから自動攻撃が行われていたと公表。mySites.guruも同日の顧客ログで実攻撃を確認 2026年7月8日に顧客サイトへの実攻撃を確認。悪用の開始時期は不明
CISA KEV追加日 2026年7月10日 2026年7月10日
FCEB是正期限 2026年7月13日 (BOD 26-04適用) 2026年7月13日 (BOD 26-04適用)
CVE付与機関 Joomla! Project CNA (2026年6月20日公開) Joomla! Project CNA

Joomlaサードパーティエクステンションの攻撃面

Joomlaは世界的に広く使われるオープンソースCMSで、その拡張性は数千のサードパーティエクステンションによって支えられています。今回の対象となった2製品はいずれも、Joomlaサイトで公開エンドポイントを持ち、匿名ユーザーからの入力を受け付ける性質を持ちます。

iCagendaは、JoomliCが2012年から開発するイベント管理コンポーネントで、Joomla Extensions Directory(JED)にも掲載されているイベント管理エクステンションです。カレンダー表示と「Submit an Event」機能を通じて、訪問者がイベントを提案する仕組みを提供します。今回の脆弱性はこの「Submit an Event」フォームに存在しました。

Balbooa Formsは、Balbooa社が提供するドラッグ&ドロップ型のフォームビルダーで、コンタクト、登録、アンケートなど多様な用途で数千のサイトに導入されています。コンポーネント識別子はcom_baformsで、フォーム機能の一部としてファイル添付を受け付ける仕組みが今回の脆弱性の起点となりました。

両エクステンションに共通するのは、フロントエンドの公開エンドポイントで匿名ユーザーからのファイルアップロードを受け付ける構造です。この種のエンドポイントは設計上、認証を経ないインターネット全体からのリクエストにさらされるため、入力検証・認可制御・ファイルタイプ制限のすべてが漏れなく実装されていなければ、未認証RCEにつながり得る構造的な攻撃面となります。

CVE-2026-48939 iCagenda — 2つの欠陥とJoomlaコア保護機構の一時的な欠落

今回JoomliCが公表したiCagendaの問題は、同じイベント送信処理に存在した2つの欠陥から構成されます。1つは全Joomlaバージョンで成立する認可バイパスの欠陥、もう1つは、iCagenda側のファイル検証不備がJoomla 6.0.0〜6.1.1で危険なファイルのアップロードとRCEに至る問題です。CVE-2026-48939として公式に登録されているのは後者の危険なファイルアップロード(CWE-434)ですが、実際の攻撃チェーンは両者の組み合わせによって成立します。

認可バイパス — Viewに置かれたアクセスチェックの構造的問題

iCagendaには「Submit an Event」機能を利用できるユーザーを制限する設定があり、デフォルトは「Registered」(ログイン済みユーザーのみ)です。運用担当者としては、この設定が匿名ユーザーからのアクセスを遮断してくれると想定するのが自然でしょう。しかし実装上、このアクセスチェックはフォームを画面描画するView側でのみ実行されており、実際に送信を処理するController側では一切チェックされていませんでした。

結果として、公開されているiCagendaのイベント一覧ページなどから必要なフォームトークンを取得し、処理エンドポイントに直接POSTするだけで、「Registered only」設定は完全にバイパスされました。フォームへのメニュー項目が公開されていない状態のサイトでも、コンポーネントがインストールされていればエンドポイント自体は到達可能です。この欠陥は全Joomlaバージョン(2.5、3、4、5、6)で成立し、匿名ユーザーが「未承認状態のイベント」を作成できてしまいました。

ファイルアップロード欠陥 — Joomla 6.0.0〜6.1.1でRCEに到達

アクセスチェック回避で処理エンドポイントに到達した後、フォームのファイル添付機能は、拡張子と実際のファイル形式の検証を行わずにアップロードされたファイルをWebルート配下のimages/icagenda/frontend/attachments/ディレクトリに書き込みました。攻撃者はshell.phpのようなPHPファイルをアップロードし、そのURLを直接リクエストすることでリモートコード実行に到達します。

ただしiCagenda開発元であるJoomliCの公式アドバイザリによれば、このRCE成立はJoomla 6.0.0から6.1.1に限定されます。それ以前のJoomlaバージョン(2.5、3、4、5)およびJoomla 6.1.2以降では、Joomlaコアの保護機構によって危険なファイルのアップロードが既定でブロックされ、今回確認されたRCEの攻撃チェーンは成立しません。

JoomliCは、この保護機構がJoomla 6.0.0〜6.1.1で機能していなかったと説明しています。このため、同様のアップロード処理をJoomlaコアの保護に依存していた別のエクステンションにも影響した可能性はありますが、現時点で具体的な影響製品が確認されているわけではありません。

攻撃者ツール「icagenda-batch/1.0」

mySites.guruが最初に脆弱性を発見したのは、顧客サイトのアクセスログに残された3行のシーケンスでした。icagenda-batch/1.0というUser-Agentを持つ自動スキャナーが、まずセッションを取得し、イベント送信エンドポイントに悪意あるアップロードをPOSTし、そのままiCagendaが添付ファイルを書き込む保存先のパスに作成されたWebシェルへアクセスしていました。単なる脆弱性検査ではなく、一連の攻撃手順を自動化した専用ツールが動作していたことが明らかです。JoomliCは公式アドバイザリで、自動攻撃の開始時刻を2026年6月15日08:00 UTCと公表しています。

開示タイムラインと修正版

  • 2026年6月15日08:00 UTC:JoomliCが把握する範囲でiCagenda 4.0.7以前を狙う自動攻撃が開始
  • 2026年6月15日:mySites.guru顧客がアクセスログをmySites.guruに提示。同社はコードレビューでの脆弱性確認、管理されたJoomla 6の検証環境での概念実証(PoC)、開発元への報告をすべて同日中に実施
  • 2026年6月15日:JoomliCが同日中にiCagenda 4.0.8をリリース(現行4.xライン)
  • 2026年6月16日:JoomliCがiCagenda 3.9.15をリリース(レガシー3.xライン、Joomla 3.10向け)
  • 2026年6月20日:Joomla! Project CNAがCVE-2026-48939を公開
  • 2026年7月10日:CISAがKEV Catalogに追加

iCagenda 3.9系(Joomla 3.10対応)は2026年10月13日までセキュリティパッチのみが提供される旨、JoomliCが明記しています。4.x系はJoomla 4、5、6に対応します。

CVE-2026-56291 Balbooa Forms — 三層すべての欠落と「Fixed」表記の罠

フロントエンドアップロードエンドポイントの3層欠落

Balbooa Formsの脆弱性は、フロントエンドのファイル添付アップロードを処理するエンドポイントであるindex.php?option=com_baforms&task=form.uploadAttachmentFileに存在しました。この処理は、認証・CSRFトークン・ファイルタイプの3つの制御をすべて欠いていました。

具体的には、フロントエンドのFormModel.phpにあるFormModel::uploadAttachmentFile関数(2.4.0のソースで122行目付近)が、以下の順で処理を行っていました。第一に、攻撃者が指定したファイル名から拡張子を切り出す。第二に、名前部分にJoomlaのFile::makeSafe()を適用するが、この関数は危険な文字を除去するのみで、.php拡張子自体は拒否しない。第三に、クリーニング済みの名前と元のままの拡張子を結合してファイル名を再構成する。第四に、Webルート配下のimages/baforms/uploads/form-<id>/ディレクトリに書き込む。

Balbooa Formsが受け付けるべきファイルタイプに対する許可リストによる検証が一切なかったため、認証なしの匿名リクエストでshell.phpを書き込み、そのURLに直接アクセスすることでサーバー上で任意コードが実行されました。

Hetznerからの不正利用通知からの発見

CVE-2026-56291の発見経緯は、ホスティング事業者Hetznerが送付した不正利用に関する通知(abuse report)がきっかけでした。2026年7月8日、mySites.guruの顧客がHetznerから当該通知を受領し、生アクセスログをmySites.guruに持ち込みました。同社はログに残されたBalbooa Formsアップロードハンドラーへのリクエストをコードレベルまで追跡し、欠陥を確認して同日中にBalbooa社へ責任開示しました。翌7月9日にはBalbooaが2.4.1をリリースし、Phil Taylor氏を報告者としてクレジットしています。この時点でJoomla! Project CNAがCVE-2026-56291を割り当てました。

「Fixed」表記だけの変更履歴という実務上の罠

Balbooa Formsの2.4.1公式変更履歴(changelog)は、「Fixed」の見出しの下に4行の項目が並んでいるだけで、これがアクティブに悪用されているRCE脆弱性を修正した緊急セキュリティリリースであるという明示的な表記はありませんでした。実務者が変更履歴の「security」表記をトリアージ判断に使っている場合、この変更は通常の保守アップデートに見えるため、更新キューに残されたまま脆弱性が放置される可能性があります。mySites.guru自身も指摘するように、変更履歴の言葉遣いが必ずしも実際の緊急度を正確に伝えるとは限らないという点は、実務者が心に留めるべき教訓です。

2.4.1の4層防御

Balbooa社がリリースした2.4.1は、脆弱性を4層で塞ぐ設計になっています。第一に、アップロードフィールドごとの設定に基づくサーバー側での拡張子許可リスト検証。第二に、フォームでMIMEタイプも要求できる新オプション。第三に、送信されたファイル名を信頼せず、サーバー側でランダムに生成した名前で保存する仕組み。第四に、アップロードリクエストにCSRFトークン検証を追加。mySites.guruは公開されたパッケージに対して4層すべてを検証し、CSRFトークンのない匿名リクエストが拒否され、トークンが存在する場合も拡張子許可リストやサーバー側のファイル名生成によって実行可能ファイルのアップロードが防止されることを確認しています。

なお、Balbooa Formsでは過去にもSQLインジェクションの脆弱性(CVE-2021-47930、CVE-2025-49485)が報告されています。また、別のJoomla向けフォームコンポーネントであるConvert Formsでも、CVE-2024-40744として危険なファイルのアップロード脆弱性が報告されています。匿名ユーザーからの入力やファイル添付を扱うフォーム機能は、継続的に注意が必要な攻撃面です。

CISA KEV追加とBOD 26-04

CISAは2026年7月10日、両CVEを既知の悪用された脆弱性カタログ(KEV Catalog)に追加しました。今回のKEV追加には、従来のBOD 22-01を置き換えたBOD 26-04(Prioritizing Security Updates Based on Risk)が適用されています。BOD 26-04は、KEVへの掲載に加え、対象資産のインターネット公開状況、攻撃の自動化可能性、悪用された場合の技術的影響などを踏まえ、是正の優先順位と期限を決定するリスクベースの枠組みです。今回の両CVEは公式記録上、悪用状況「Active」、自動化可能性「Yes」、技術的影響「Total」と評価されており、これらを踏まえて短い期限が設定されたと理解できます。

両CVEのKEVエントリーでは、米連邦政府の文民行政機関(FCEB)向けの是正期限として2026年7月13日が設定されています。対象機関は影響を受ける資産を確認し、BOD 26-04に従った是正または緩和措置に加え、CISAの「Forensics Triage Requirements」に沿ったフォレンジックトリアージを実施する必要があります。CISAのKEVエントリー自体は脆弱性の存在と悪用の事実を確認する簡潔な記述にとどまっており、影響範囲・悪用ペイロード・侵害指標(IoC)・ベンダーの是正詳細は含まれていません。これらの詳細は、mySites.guruの発見者レポートおよびベンダー公式アドバイザリを参照する必要があります。

実務者への推奨対応

  • iCagendaの即時アップデート:4.xラインを利用しているサイトは4.0.8以降、レガシー3.xラインは3.9.15以降に更新します。Joomla管理画面の標準アップデーター、mySites.guruのような一括更新ツール、あるいはicagenda.comからの直接ダウンロードのいずれで対応する場合も、更新前の脆弱バージョンのファイルを残さないことが重要です
  • Joomla 2.5環境の扱い:Joomla 2.5環境もアクセス制御不備の影響対象に含まれますが、JoomliCのアドバイザリでは対応する修正版が明記されていません。該当環境では開発元への対応確認と、サポート対象のJoomlaおよびiCagendaへの移行を検討してください
  • Balbooa Formsの即時アップデート:2.4.0以前のバージョンを利用している場合、2.4.1以降に更新します。変更履歴が「Fixed」表記のみである点に惑わされず、緊急セキュリティアップデートとして扱います
  • Joomlaコア自体のバージョン確認:Joomla 6を運用しているサイトは、6.1.2以降にアップデート済みかを確認します。Joomla 6.0.0〜6.1.1では、今回のRCE成立に関係したJoomlaコアの保護機構が機能していませんでした
  • iCagenda関連の痕跡調査:Joomla 6を運用していたサイトでは、images/icagenda/frontend/attachments/配下に本来存在すべきでないPHPファイルがないかを確認します。全Joomlaバージョンについて、Joomla管理画面でアクセス制御バイパス由来の未承認イベントがキューに残っていないかを確認します。iCagenda 4.0.8以降へのアップデート後、iCagendaが潜在的な問題を検出した場合はアラートが表示されます。ただし、アラートが表示されない場合でも、侵害されていないことが保証されるわけではありません
  • Balbooa Forms関連の痕跡調査:images/baforms/uploads/配下(デフォルト設定の場合)を再帰的に検査し、画像でも文書でもないファイル、特に.phpで終わるファイルがないかを確認します。SSHアクセスが可能であればfind images/baforms/uploads -name '*.php' -type fのようなコマンドが有効です
  • 不審なSuper Userアカウントの確認:RCEが成立した場合、攻撃者が永続化のために不審なSuper Userアカウントを作成している可能性があります。Joomlaのユーザー一覧を登録日順にソートし、身に覚えのない管理者アカウントがないかを確認します
  • 侵害時の対応:侵害の痕跡が見つかったサイトは侵害済みとして扱い、証拠のために不審ファイルのコピーを保全してから削除し、Joomlaのパスワードや秘密情報、APIキーのローテーションを実施し、iCagendaやBalbooa Formsのフォルダに限定せずサイト全体の監査を行います
  • ACSCキャンペーンの他CVEへの対応:ACSC警告に列挙された他のCMSプラグイン脆弱性についても、自組織のWordPress/Joomlaサイトで該当製品が使われている場合は、各ベンダーの案内に従って優先的に更新し、Webシェルなどの侵害痕跡を確認します
  • 継続的な監視体制:フォームビルダーやコンテンツ管理系エクステンションのように匿名ユーザーからの入力を受け付けるエクステンションは、構造的に類似の脆弱性を繰り返す傾向があります。CMSと拡張機能の自動アップデート、Webサーバー上のファイル作成イベントの監視、内部ネットワークとの通信制限などを恒常的な運用に組み込むことが有効です

本事案が示すもの

Joomlaのサードパーティエクステンション2件が同時期にCVSS 10.0のゼロデイを抱え、いずれも実サイトのアクセスログから発見されたという事実は、CMSサードパーティエクステンションの構造的な攻撃面と、実運用に近い監視体制の重要性を浮き彫りにしています。iCagendaはViewとController間の権限チェック分離という設計上の抜け穴を、Balbooa Formsは認証・CSRF・許可リストという3層すべての欠落を、それぞれ露呈しました。共通するのは、公開エンドポイントで匿名ユーザーからの入力を受け付ける処理系の入力検証と認可制御の甘さです。

加えて、iCagendaの事例はJoomlaコアの保護機構が機能していなかったバージョン範囲(6.0.0〜6.1.1)の存在を明らかにしており、エクステンション単体のパッチだけでなくJoomla本体のバージョン管理も同時に注視する必要があります。Balbooa Formsの事例からは、ベンダーの変更履歴の表記が実際の緊急度を反映しないケースがあること、そしてホスティング事業者から届く不正利用通知が重要な早期警告になることが読み取れます。ACSCの警告が指摘するとおり、AI支援ツーリングによって脆弱性公表から悪用開始までの時間はさらに短縮される方向にあり、実務者は自組織のCMSインベントリを常に把握し、緊急度に応じて可能な限り短時間で検証・適用できる体制を整えることが有効な防御手段となります。

一次情報・公式情報

参考情報

slug: joomla-icagenda-balbooa-forms-cve-2026-48939-56291-zero-days

コメント

タイトルとURLをコピーしました