本文へ移動
English version →
重大 9.3 急ぎ度: 早めに

Joomla拡張Gridboxに認証不要のSQLインジェクション、修正版あり

Joomla用の拡張機能Gridboxに、ログインなしでデータベースを不正に操作されるおそれのある脆弱性が見つかりました。Gridboxを入れたJoomlaサイト、とくにストア機能を公開している組織が対象です。版を確認し、2.20.4.2より前なら修正版へ更新してください。

CVE-2026-102788 公開 生成 AI で作成
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS v4は9.3で認証なしにネットワーク越しで悪用できる条件ですが、実際の悪用は確認されておらず、修正版がすでに出ています。

関係があるか

Joomlaにbalbooa.comのGridboxを入れ、インターネットに公開している組織が対象です。ストアの商品一覧ページがある通販サイトは、優先して確認してください。

製品影響を受ける版直った版
Gridbox extension for Joomla(balbooa.com) 2.20.4.2より前の版 2.20.4.2

確かめ方

  1. 1Joomlaの管理画面で「システム」から拡張機能の管理を開き、Gridboxの版を確認します。2.20.4.2より前なら対象です。
  2. 2複数サイトを運用している場合は、サイトごとにGridboxの導入有無と版を一覧にします。ステージング環境や、使っていない古いサイトも含めてください。
  3. 3ストア機能(商品一覧ページ)を公開しているかも、あわせて確認します。

何が起きたか

Joomlaの拡張機能Gridboxに、SQLインジェクションの脆弱性があります。ログインしていない第三者が、サイトのデータベースに対する問い合わせを不正に書き換えられるおそれがあります。

原因は、ストアの商品一覧ページで商品を並び替える処理です。URLで受け取った並び替えの指定値が、文字列フィルターを通っただけで、GridboxHelper::getBlogPosts()に渡されます。指定値が既知の並び替えキーに当てはまらない場合は、テーブルの別名を前に付けてそのままORDER BY句に組み込まれ、許可リストとの照合はありません。

分類はCWE-89で、GitHubのアドバイザリではGHSA-hqjq-crc6-5fp3として公開されています。公表日は2026年10月27日です。

攻撃の流れ

  1. 1

    対象を見つける

    Gridboxのストアを公開しているJoomlaサイトを、外部から探します。

  2. 2

    商品一覧へ送信

    商品一覧ページの並び替え指定に、細工した値を入れたリクエストを送ります。

  3. 3

    検証なしで反映

    値が許可リストで確認されないまま、データベースへの問い合わせに組み込まれます。

  4. 4

    データを操作

    データベースの内容を読まれたり、書き換えられたりするおそれがあります。

公開されている情報をもとにした流れの例です。

どう悪用されるか

悪用にログインは不要です。ネットワーク越しに商品一覧ページへアクセスできれば足り、管理者や利用者に操作させる必要もありません。攻撃の難易度は低く、特別な前提条件は見当たりません。

想定される被害は、データベースに保存された情報の漏えい、内容の改ざん、サービスの停止です。ストアを運用していれば、会員情報や注文情報が保存されていることが多く、影響が大きくなりやすいでしょう。一方、データベースの外にあるほかのシステムへの直接の波及は、評価では想定されていません。

今すぐやること

  1. 1

    Gridboxの版を確認する

    管理画面で、対象サイトのGridboxが2.20.4.2より前かどうかを確かめます。公開サイトを先に、検証用のサイトはあとに回して構いません。

  2. 2

    修正版に更新する

    ベンダーのbalbooa.comの案内に従い、Gridboxを2.20.4.2に更新します。更新の前にファイルとデータベースのバックアップを取ってください。

  3. 3

    更新後に動作を確認する

    商品一覧ページの表示と、並び替えの動作を確かめます。表示が崩れていないか、エラーが出ていないかも見ます。

  4. 4

    公開から更新までのログを見る

    更新前の期間について、商品一覧ページへのアクセスログに、並び替え指定の不自然な値やエラーの多発がないかを確認します。データベースのエラーログも合わせて見ると、異常に気づきやすくなります。

  5. 5

    不審な点があれば認証情報を見直す

    不審な形跡が見つかった場合は、管理者アカウントのパスワードを変更し、データベースの接続情報も見直します。ユーザーテーブルに、身に覚えのない変更がないかも確認してください。

すぐ更新できないとき

すぐに更新できない場合は、WAFで商品一覧ページへのリクエストを検査し、並び替えを指定するURLパラメーターに想定外の値が入ったものを遮断します。これは暫定の対策にすぎず、すべての細工を防げる保証はありません。ストアが止められるなら、更新が済むまで商品一覧ページを非公開にする方法もあります。ベンダーが案内する公式の回避策は確認できていません。

背景

Gridboxは、balbooa.comが提供するJoomla用の拡張機能です。ページの作成やブログに加え、ストア機能も備えており、商品一覧のように外部へ公開するページの表示にデータベースへの問い合わせが使われます。公開サイトの表側にあるため、外部から直接リクエストを受けやすい位置にあります。

今回の問題は、並び替えの指定がORDER BY句に入る点が特徴です。値を入れる位置を決めておくプレースホルダーは、検索条件の値には使えますが、列名や並び順のような構文の一部には使えません。そのため、この種の箇所では、受け取った値を許可リストと照合する実装が欠かせません。原因は、その照合が抜けていたことにあります。

よくある質問

Q.ストア機能を使っていなければ、更新しなくてもよいですか。
A.判断材料が足りません。確認されているのは商品一覧ページの経路だけですが、ほかの経路がないかはまだ分かっていません。Gridboxを導入している以上、2.20.4.2に更新しておくのが安全です。
Q.更新したあと、侵害されていないかも調べる必要はありますか。
A.公開直後で悪用の報告はありませんが、更新前の期間の確認はしておくと安心です。商品一覧ページへのアクセスログとデータベースのエラーログを見て、不自然な値や急なエラーの増加がないかを調べてください。

まだ分かっていないこと

  • 実際の悪用や、攻撃手法の公開の有無は分かっていません。ベンダーのbalbooa.comの告知と、GitHubのアドバイザリで続報を確認してください。
  • 商品一覧ページ以外の経路が影響を受けるか、また2.20.4.2より前のどの版から影響があるかは、示されていません。
  • 更新できない場合にベンダーが案内する、公式の回避策は確認できていません。

この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。

影響パッケージ

種類パッケージ影響を受ける版直った版
balbooa.com Gridbox extension for Joomla — —
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Joomla Extension - balbooa.com - Unauthenticated SQL injection in Gridbox < 2.20.4.2 - On store product list pages, the value of the sort-by URL parameter is retrieved using a string filter and passed directly to GridboxHelper::getBlogPosts(). When the parameter does not match known sorting keys, it is prefixed with a table alias and inserted into the ORDER BY clause without checking against an allowlist

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく