Ghostのフロントエンドにおいて、x-ghost-previewヘッダーを悪用したキャッシュポイズニングおよびクロスサイトスクリプティング(XSS)の脆弱性が存在する。FastlyやCloudflare、nginx等の共有キャッシュ層を利用している環境において、認証されていない攻撃者が細工したヘッダーを送信することで、キャッシュされたコンテンツを改ざんし、後続の閲覧者に悪意のあるスクリプトを配信することが可能である。特にフロントエンドと管理画面を同一ドメインで運用している場合、スタッフアカウントの乗っ取りに繋がるリスクがあり、深刻度は極めて高い。
対象ソフト
Ghostは、Node.jsベースのオープンソースのブログ・パブリッシングプラットフォームであり、コンテンツ制作やニュースレター配信に広く利用されている。
影響
攻撃が成功した場合、キャッシュされたページを閲覧したユーザーに対して任意のスクリプトが実行される。同一ドメインで管理画面を運用している環境では、スタッフアカウントのセッションが乗っ取られる恐れがある。
対応策
Ghostをバージョン6.37.0以降にアップデートすること。また、キャッシュ層においてx-ghost-previewヘッダーを含むリクエストのキャッシュをバイパスする設定も有効な回避策となる。