中国のサイバーセキュリティ企業Qianxin傘下のXLabが、Ghost CMSの重大なSQLインジェクション脆弱性(CVE-2026-26980)を悪用した大規模なClickFix攻撃キャンペーンを発見した。ハーバード大学・オックスフォード大学・DuckDuckGoを含む700以上のドメインが侵害され、訪問者のWindowsシステムにマルウェアを配布する攻撃が今も継続している。

CVE-2026-26980とは何か

Ghost CMS 3.24.0から6.19.0に存在するこの脆弱性は、認証なしで攻撃者がデータベースから任意のデータを読み取れるという深刻な欠陥だ。問題の核心は、管理者APIキーが外部から取得できてしまう点にある。

このAPIキーを入手した攻撃者は次のことが可能になる:

  • ユーザー情報・記事・テーマへのフル管理アクセス
  • 公開記事ページへの悪意あるコードの自由な挿入

修正パッチはGhost CMS 6.19.1として2026年2月19日にリリース済みだが、数ヶ月が経過した今もなお多数のサイトが未更新のまま放置されている。

攻撃の連鎖:SQLiからマルウェア配布まで

XLabが観測した攻撃フローは以下の4段階で構成される。

ステップ1:管理者APIキーの窃取

CVE-2026-26980を悪用してデータベースから管理者APIキーを抽出する。認証不要で実行できる点が最大の問題だ。

ステップ2:悪意あるJavaScriptの埋め込み

取得した管理者権限を使い、Ghost CMSの記事ページに軽量なJavaScriptローダーを注入する。このローダーは攻撃者のインフラから第2段階のコードを取得する設計になっている。

ステップ3:訪問者のフィンガープリンティング

第2段階のコードはクローキングスクリプトとして機能し、訪問者を選別する。ボットやセキュリティ研究者、想定外の地域からのアクセスは攻撃対象外とすることで検知を回避する巧妙な仕組みだ。

ステップ4:偽CloudflareダイアログによるClickFix攻撃

選別を通過した訪問者には、本物そっくりの偽Cloudflare「人間確認」ダイアログがiframe経由で表示される。「あなたが人間であることを確認するため、以下のコマンドをWindowsのコマンドプロンプトに貼り付けてください」——この指示に従うとマルウェアがシステムにドロップされる仕組みだ。

確認されたペイロードには、DLLローダー、JavaScriptドロッパー、そして「UtilifySetup.exe」という名称のElectronベースのマルウェアが含まれる。

被害規模と対象

XLabが確認した侵害ドメインは700超に上り、その内訳は多岐にわたる:

  • 大学ポータル(ハーバード大学、オックスフォード大学、オーバーン大学)
  • AI・SaaS企業
  • メディア・報道機関
  • フィンテック企業
  • セキュリティ関連サイト・個人ブログ

また、プライバシー重視の検索エンジンDuckDuckGoのサイトも被害を受けたと報告されている。研究者は少なくとも2つの異なる攻撃グループを観測しており、同一ドメインを再侵害したり、互いの注入スクリプトを削除して自分のスクリプトを埋め込むという競合する動きも確認されている。

実務への影響:日本のエンジニア・IT管理者が取るべき行動

即座に確認すべきこと

Ghost CMSを利用しているすべての組織・個人に以下を推奨する:

  • バージョン確認: Ghost 3.24.0〜6.19.0の範囲にある場合は今すぐ6.19.1以上にアップグレードする
  • APIキーの全ローテーション: パッチ適用後、これまで使用していたAPIキーはすべて無効化・再生成する。漏洩済みの可能性があるため、更新だけでは不十分だ
  • 管理者APIアクセスログの確認: XLabは30日分のログ保持を推奨。不審なAPIコールがないか遡及調査が必要だ
  • 記事・テーマの不正コード確認: 公開されているIoC(侵害の痕跡)リストを参照し、サイト全体を精査する

ClickFix攻撃への一般的な対策

この攻撃で最終的な被害を受けるのはWindowsエンドユーザーだ。組織内での啓発として以下を徹底したい:

  • ウェブブラウザ上の「人間確認」ダイアログがコマンドプロンプトへの入力を求めた場合は絶対に実行しない
  • cmd.exeやPowerShellの操作を促すサイトは即座に閉じる
  • Cloudflareの正規の人間確認はコマンド実行を要求しない

中期的な構造的対策

  • CMSコアのセキュリティアップデートを定期適用するフローの整備(手動管理は限界がある)
  • WebアプリケーションファイアウォールでSQLインジェクション試行を検知・ブロック
  • 管理者APIへのアクセスをIPアドレス制限またはゼロトラストポリシーで絞り込む

筆者の見解

今回の攻撃で改めて浮き彫りになったのは、「修正パッチは出た、だから終わり」という考え方の危うさだ。CVE-2026-26980の修正は2月19日に提供されていた。ところが数ヶ月後の今、700以上のドメインが侵害されている。パッチが「出る」ことと、パッチが「当たる」ことの間には、依然として大きなギャップが存在する。

特に目を引くのは攻撃の精巧さだ。SQLインジェクションで管理者権限を奪い、フィンガープリンティングで標的を選別し、本物そっくりの偽CloudflareダイアログでソーシャルエンジニアリングをかけるというLayered構造になっている。技術的な欠陥の悪用と人間の心理的盲点の突き方を組み合わせた攻撃は、エンドポイントのウイルス対策だけでは防げない。

管理者APIキーの扱いについては、Just-In-Time(JIT)アクセスの思想が本質的な解決策になる。常時アクセス可能な状態のAPIキーが存在すること自体がリスクの温床だ。脆弱性が悪用されても被害を最小化できる構造を平時から設計しておくことが、今回のような攻撃への真の備えになる。

エンドユーザーへのClickFix教育も急務だ。「コマンドプロンプトにこれを貼り付けて」という指示は、正規のITサポート手順と見分けがつきにくい。一度でも体験型のセキュリティトレーニングを受けた人と受けていない人では、この攻撃への耐性に大きな差が出る。Ghost CMS管理者がパッチを当てれば今回の感染源は塞げるが、ClickFix手法そのものは別の経路でも使われ続ける。組織のセキュリティ文化を底上げするタイミングとして、この機会を活かしてほしい。


出典: この記事は Ghost CMS SQL injection flaw exploited in large-scale ClickFix campaign の内容をもとに、筆者の見解を加えて独自に執筆したものです。