悪用リスク極めて高:CVE-2017-8917(Joomla! SQLインジェクション)の今すぐ確認すべき対策

Joomla! SQL Injection

CVE-2017-8917 は、Joomla! 3.7.0 のコアコンポーネント com_fields に存在する SQL インジェクション脆弱性である。認証不要かつ簡易な URL クエリ操作だけで悪用可能で、データベース上の管理者ハッシュ・セッション情報・サイト構成情報を窃取できる。8 年経過した現在も多数のサイトが未対応のまま運用されており、ボットネット・スキャナーの常時標的となっている。

概要

  • 識別子:CVE-2017-8917
  • CVSS v3.0:9.8(Critical)
  • 影響を受けるバージョン:Joomla! 3.7.0
  • 修正バージョン:Joomla! 3.7.1 以降
  • 悪用観測:EPSS 95% 以上、PoC が広く流通

技術的な詳細

脆弱性のメカニズム

Joomla! 3.7.0 で新規追加された com_fields コンポーネントは、フロントエンド側のリスト表示処理で list[fullordering] パラメータを SQL 文の ORDER BY 句に直接連結していた。Joomla! 標準のクエリビルダーは quoteName() 等の安全な API を提供しているが、本コンポーネントではこのエスケープ処理を経由せず、ユーザー入力をそのまま SQL に組み込んでしまっていた。

結果、攻撃者は list[fullordering]UPDATEXML()EXTRACTVALUE() 関数を含む細工クエリを注入し、エラーベース SQL インジェクションでデータベース内容を盗み出すことができる。サブクエリ実行が許可されるため、#__users テーブルのパスワードハッシュ(bcrypt)が標的になりやすい。

攻撃ベクター(典型例)

  • GET /index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,(SELECT password FROM #__users LIMIT 1),0x7e),1)
  • エラーメッセージに bcrypt ハッシュが出力される
  • 取得したハッシュをオフラインクラックし、管理者権限を奪取 → サイト改ざん・マルウェア配布

影響範囲

  • Joomla! 3.7.0 のみ。3.6.x 以前および 3.7.1 以降は対象外
  • 3.7.0 が短期間しかリリースされていなかったため対象サイト数は限定的だが、長期間更新されていないサイトでは未対応のまま残存

検知のヒント

  • Web アクセスログで list[fullordering] パラメータを含む URL を検索
  • updatexml / extractvalue / concat(0x7e 等の SQL インジェクション特徴語のリクエスト
  • WAF(ModSecurity OWASP CRS)の SQLi シグネチャでブロック実績

推奨される技術的対応

  • 即時:Joomla! 3.7.1 以降にアップグレード
  • 暫定:WAF / リバースプロキシで com_fields アクセスを管理者 IP のみに制限
  • 事後:管理者・ユーザーアカウントすべてのパスワードリセット。データベースに不審な管理者追加がないかを確認

非エンジニア向け — 経営・管理部門に向けた解説

何が問題か(1 分で)

自社の Web サイトが「Joomla! 3.7.0」という特定バージョンの場合、URL に少し細工しただけで、サイト管理者のパスワード情報がデータベースから引き抜かれる穴が空いています。バージョンが特定すぎる(3.7.0 ピンポイント)ため対象サイトは多くはありませんが、長期間更新が止まっているサイトでは現在も狙われ続けています。

自社への影響を判断する

  • 自社の Web サイトの Joomla! バージョンが 3.7.0 のままになっていないか、IT 部門・制作会社に確認
  • 3.7.1 以降であれば本件は対応済み(その後 4.x への移行を推奨)
  • 長期間更新が止まっているサイト(採用情報・古い製品サイト等)は本件以外にも複数の脆弱性が累積している可能性が高く、棚卸し対象

IT 部門・制作会社に確認すべき 3 つの質問

  • 「当社の Joomla! サイト一覧と、それぞれのバージョン・最終アップグレード日を教えてください」
  • 「com_fields コンポーネントへの不審なアクセスログがないかを確認してください」
  • 「棚卸しの結果、もはや使われていないサイトがあれば閉鎖判断を含めて提案してください」

経営判断のポイント

  • 「使っていないけれど閉鎖していないサイト」が攻撃の入り口になるケースが多い。攻撃面(attack surface)の管理として、不要なサイトの閉鎖判断は IT セキュリティ施策に直結する
  • サイト保守の責任所在(自社/制作会社/ホスティング事業者)を再確認するきっかけとして本件を活用

出典・関連リンク

本記事は公開情報に基づき Omamori AI 編集部が執筆しました。実際の対応にあたっては、自社環境の構成と影響範囲を踏まえ、ベンダー公式情報および JPCERT/CC・CISA 等の公的勧告を必ず確認してください。

SHARE 𝕏 in f

あわせて読みたい