セキュリティとプライバシー

ChatGPTの共有リンクに、ユーザーセッションでのコード実行を可能にする脆弱性

研究者らは、攻撃者がコードを実行し、プライベートチャットを読み取れるようなChatGPTの共有リンクにおける脆弱性を発見しました。OpenAIは8日以内にこの欠陥を修正しました。

チャットインターフェースにおけるセキュリティ侵害の説明図
この記事用に生成されたイラスト

英語の原文から自動翻訳されました。

セキュリティ研究チーム「Parameter」は、悪意のあるコードが被害者のログイン済みセッション内で共有会話リンク経由で実行されることを許す、ChatGPTにおける重大な脆弱性を発見しました。2026年10月18日に報告されたこの欠陥により、攻撃者はプライベートチャットへのアクセスや、ユーザーに代わっての操作が可能になりました。OpenAIはこの問題を深刻度P1と分類し、10月26日までに修正を適用しました。

何が起きたか

この攻撃手法は、ユーザーが公開リンクを通じて会話を共有できるというChatGPTの標準機能を利用したものです。攻撃者は悪意ある要素を含む特定の会話を細工し、メール、ソーシャルメディア、サポートチケットなどを通じて共有することができました。被害者がこのリンクを開いた場合、ソフトウェアのインストールや再ログインは不要であり、既存の認証済みセッションを狙ったエクスプロイトが作動します。初期の実証実験では、被害者が「プレビュー」ボタンを一度クリックする必要がありましたが、改良版ではこのステップが自動化され、被害者がリンクを開くだけで済むようになりました。

トリガーされると、攻撃者のコードは正規のChatGPTインターフェースと同じ権限で実行されました。これにより、悪意あるスクリプトはサインイン中のAPIを直接呼び出し、最近の会話リストを取得したり、これまで共有されたことのないプライベートチャットを開いたりすることが可能になりました。研究者らは、これらのプライベートな議論の一部を外部サーバーへ持ち出せることを実証しました。コードが被害者の完全なWebアクセスコンテキスト内で動作していたため、その能力は単なるチャット履歴の読み取りを超え、アカウント所有者が実行可能なあらゆる操作に及んでいました。

Parameterはこの作業を別々のアカウント間での管理されたテストとして実施し、現実世界での悪用を示す証拠はないと報告しました。彼らはOpenAIのバグバウンティプログラムを通じて調査結果を提出しました。OpenAIは当初、深刻度をP2と評価していましたが、エクスプロイトの再現後にP1へ格上げしました。同社はレポートに対して合計5,000ドルを支払うとともに、Webフロントエンドの2つのバージョンにわたって修正をロールアウトしました。

仕組み

この脆弱性は、Previewサンドボックス、MathLiveライブラリ、およびフレーム間メッセージングという3つの異なる機能間の相互作用から生じました。ChatGPTは、HTMLプレビューを描画するために別のドメイン上のサンドボックス化されたフレームを使用しており、これによりメインアプリケーションの状態へのアクセスを防いでいます。この分離自体は堅牢でした。しかし、共有チャットには、メインページに数学ライブラリであるMathLiveを読み込むインタラクティブなグラフも含まれていました。

MathLiveには、オンスクリーンキーボードに関するメッセージを受け取るためのリスナーが含まれています。Parameterは、このリスナーが送信元の起源を検証せずに、任意の送信者からのメッセージを受け入れていることを発見しました。重要なのは、これらのメッセージがキーボードレイアウトのカスタマイズ用に設計された生のHTMLデータを運ぶことが許可されていた点です。悪意あるPreviewフレームは、攻撃者が制御するHTMLを含む細工されたメッセージを、メインページのMathLiveリスナーへ送信することで、この弱点を突きました。

このHTMLは、ブラウザによって信頼できるchatgpt.comドメインの一部として扱われる新しいフレームを作成し、サンドボックスを回避しました。最終的なペイロードを実行するために、攻撃者はYouTubeのスクリプトを活用しました。これらはChatGPTの内容セキュリティポリシー(CSP)でホワイトリスト登録されていました。インラインコードはブロックされていましたが、YouTubeのような許可されたドメインからのスクリプトは、新たに作成された信頼できるフレーム内で実行でき、攻撃者にセッションの完全な制御権を与えました。

主要な詳細

  • 脆弱性は2026年10月18日に報告され、2026年10月26日までに修正されました。
  • OpenAIは当初P2と分類していましたが、その後この問題を最高深刻度カテゴリであるP1と評価しました。
  • 攻撃には、共有リンクを開く以外のユーザーによるインストールや追加のログイン手順は必要ありませんでした。
  • 悪用は、MathLiveが検証されていないフレーム間メッセージ(生のHTMLを含む)を受け入れることに依存していました。
  • 攻撃者は、ホワイトリスト登録されたYouTubeスクリプトを使用して内容セキュリティポリシーを回避し、コードを実行しました。
  • Parameterは、この欠陥の責任ある開示に対し、5,000ドルの報奨金を受け取りました。

なぜ重要なのか

この事案は、サードパーティ製ライブラリと動的コンテンツレンダリングを組み合わせた複雑なWebアプリケーションに伴うリスクを浮き彫りにしています。AIインターフェースを構築するエンジニアにとって、フレーム間通信に対する厳格な検証の重要性を強調しています。サンドボックスが正しく実装されている場合でも、異なるコンポーネント間の相互作用方法によって脆弱性が生じる可能性があります。MathLiveのような外部ライブラリへの依存は、厳格な入力検証と起源チェックを通じて管理すべきサプライチェーンリスクを導入します。

製品チームにとって、OpenAIの迅速な対応は、堅牢なバグバウンティプログラムと明確なインシデント対応プロトコルの価値を示しています。P1脆弱性の検出、再現、およびパッチ適用を8日以内に行えることは、潜在的な損害を最小限に抑えます。しかし、この欠陥がアカウントの完全な乗っ取りを許していたという事実は、共有機能が最小権限の原則に基づいて設計されるべきであり、プレビューモードがメインアプリケーションコンテキストへの権限昇格を行えないようにすることを保証するための重要な教訓となります。

あなたができること

  • すべてのフレーム間メッセージリスナーが、受信メッセージの起源を検証していることを確認してください。
  • 設定データであっても、メッセージペイロードを通じた生のHTML注入を許可しないでください。
  • スクリプト用にホワイトリスト登録されているドメインが必要最小限であることを確認するため、内容セキュリティポリシーを見直してください。
  • すべてのユーザー生成コンテンツのプレビューおよびインタラクティブ要素に対して、厳格なサンドボックス化を実装してください。
  • サードパーティ製ライブラリとコアアプリロジック間の相互作用に焦点を当てた定期的なセキュリティ監査を実施してください。
  • 製品向けにアクセシブルなバグバウンティプログラムを維持することで、責任ある開示を奨励してください。
  • #web security
  • #chatgpt
  • #vulnerability
  • #ai safety
  • #bug bounty

Bytechapストアのツール

続きを読む

セキュリティとプライバシー

TeamViewerの脆弱性により、制御対象ホストがビューア側マシンを攻撃可能

TeamViewerの高深刻度メモリオーバーフロー脆弱性により、リモートホストが接続元(ビューア)のマシンをクラッシュさせたり、コードを実行したりする可能性があります。CVE-2026-111585を修正するため、直ちにバージョン15.83へ更新してください。

すべての記事