Critical XSS Vulnerabilities in Meta Conversion API Enable Zero-Click Account Takeover
2026/01/17 gbhackers —Meta の Conversions API Gateway に存在する、2 件の深刻なクロスサイト・スクリプティング (XSS) 脆弱性がセキュリティ研究者たちにより発見された。これらの欠陥を悪用する攻撃者は、ユーザー操作を一切必要とせずに Facebook アカウントの大規模な乗っ取りが可能となる。この脆弱性は、Meta 管理下ドメインである “facebook.com” や “meta.com” に影響するだけではなく、オープンソースの Gateway インフラをデプロイしている、最大 1 億件とも言われるサードパーティ環境にも波及する可能性がある。

Conversions API Gateway の概要
Meta Conversions API Gateway は、企業の Web イベントや顧客インタラクション・データを、Meta の広告プラットフォームへ向けて、サーバ・サイドで直接送信するための仕組みである。Facebook Pixel などの、従来のブラウザ・ベース・トラッキングとは異なり、この Gateway はサーバ・レベルで動作するため、Cookie 制限や広告ブロッカーを回避できる。
この技術の提供において Meta は、”gw.conversionsapigateway.com” 上のホスト型サービスとするほか、ユーザー企業の自社インフラへの展開が可能な、コンテナ化されたオープンソース・ソフトウェアとしても供給している。
Gateway は、コンバージョン・トラッキングを支援するために、”capig-events.js” という重要な JavaScript ファイルを配信する。このスクリプトは、Meta のプロパティおよび数千のサードパーティ Web サイト上で自動的に実行されるため、そこに脆弱性が存在すると、サプライチェーン攻撃の観点から見て、きわめて深刻な影響が生じる。
1 件目の XSS は、クライアント・サイドの “capig-events.js” スクリプトに存在し、postMessage における不適切なオリジン検証に起因する。ページに opener ウィンドウが存在する場合に、このスクリプトは IWL_BOOTSTRAP とラベル付けされた設定メッセージを待ち受けるが、送信元を許可リストで検証せず、event.origin の値を無条件に信頼して保存する。
その後に、この信頼されたオリジンは、攻撃者が制御するドメインから別の JavaScript ファイルである “iwl.js” を動的に読み込むために使用される。 Meta の Content Security Policy (CSP) および Cross-Origin-Opener-Policy (COOP) は、防御として機能しているように見えるが、研究者は複数の回避手法を確認している。”/help” ディレクトリ配下のログアウト状態の Meta ページでは CSP が緩和され、サードパーティ分析ドメインが許可されている。そのため、CSP で許可されたドメインにおいてサブドメイン・テイクオーバーや別の脆弱性が存在した場合に、攻撃者は悪意のスクリプトをホストできる。
さらに Facebook の Android WebView 環境で確認されたのは、”window.name” の再利用と iframe ハイジャックを組み合わせることで、悪意の postMessage の配信が可能なことだ。この多段階攻撃チェーンにより、meta.com のコンテキスト内で任意の JavaScript 実行が可能となり、CSRF トークンの窃取/メールアドレス変更を含む特権操作/完全なアカウント乗っ取りが実現する。
| Vulnerability Type | Affected Component |
|---|---|
| Client-Side XSS (Improper Origin Validation) | capig-events.js |
| Stored XSS (Unsafe String Concatenation) | Gateway Backend (IWL Configuration) |
2 件目の XSS の脆弱性は、Gateway のバックエンド・コードに存在する。ユーザー企業が、Meta の IWL (Intelligent Web Logging) 設定ツールを用いてイベント・マッチング・ルールを作成すると、バックエンドはユーザー入力値を適切にサニタイズ/エスケープすることなく連結し、”capig-events.js” の一部を生成する。
公開されているソースコードを解析したところ、不安全な文字列連結処理が確認された。 具体的には、バックエンドの Java ソースコード内で、API リクエスト内の JSON キーが直接 JavaScript 出力に連結される。
“クォート” や “閉じ括弧” などの文字を挿入することで、攻撃者は文字列コンテキストを逸脱し、任意の JavaScript コードを “capig-events.js” に直接注入できる。
この保存型 XSS 脆弱性は、きわめて壊滅的であり、個々のユーザーを騙す必要もない。セキュリティ研究者の Youssef Sammouda によると、一度注入された悪意のペイロードは、Meta ドメイン全体および認証済み Facebook セッションを含めて、このスクリプトを読み込むすべての訪問者に対して自動的に実行される。
Conversions API Gateway はオープンソース技術であるため、この脆弱性の影響は Meta のインフラに留まらない。世界中の組織において、膨大な数の Gateway が自社ドメインに展開されており、この保存型 XSS の弱点を継承している。このサプライチェーンの脆弱性により、悪用開始から数時間以内に、警告やユーザー操作なしで数百万規模のユーザーが静かに侵害される可能性があった。
これら 2 件の欠陥が示唆するのは、セキュリティの原則である。分析基盤や計測インフラであっても、製品/ドメイン/顧客を横断して信頼される JavaScript として動作する場合には、低リスクなコードとして扱うべきではない。
このようなシステムにおける小さな信頼境界の破綻が、プラットフォーム全体のセキュリティ災害へと連鎖する可能性がある。現代の Web プラットフォームにおいては、厳格なオリジン検証/防御的な CSP 設計/安全なコード生成手法などが重要となる。
Meta の広告管理ツール Conversions API Gateway で見つかった、アカウント乗っ取りにつながる深刻な脆弱性について解説する記事です。この問題の原因は、外部から届くメッセージや入力データを、プログラムが正しく検証せずに信頼してしまったことにあります。具体的には、データのやり取りに使うJavaScriptファイル “capig-events.js” において、送信元を詳しく確認せずに実行してしまう不備がありました。また、設定データを保存する際にも、悪意の記号などをプログラムの一部として結合してしまったことで、サイトを訪れた人々のブラウザで攻撃用のコードが動く状態になっていました。この仕組みは、Meta の公式サイトだけではなく、このツールを自社で導入している世界中の多くの企業サイトにも影響するため、きわめて広範囲での被害につながるリスクがありました。なお、この記事の内容に関連する特定の CVE 番号は現時点で明記されていませんが、設計上の根本的なミスが連鎖して起きた問題といえます。よろしければ、Meta での検索結果も、ご参照ください。
You must be logged in to post a comment.