公開されたChatGPTの会話を、開いた人のアカウント情報をさらすリンクにできたと、セキュリティ研究者グループのParameter Labsが明らかにした。同グループは、悪意ある共有リンクから、ログイン中のユーザーのChatGPTセッション内でJavaScriptを実行し、非公開の会話にアクセスしたり、ユーザーのアカウントを通じて操作したりする手法を見つけた。
この攻撃は、本来連携する想定のなかった2つの機能、対話型グラフと、コードを小さなウェブページとして表示するChatGPTのHTML Previewを組み合わせたものだった。Parameter Labsによると、この2機能を利用して、信頼できないプレビューのコードをChatGPTのメインページから隔離するはずのブラウザーの防御を突破した。
攻撃はどのように行われたのか?
研究者らは、ChatGPTがグラフ機能を支えるために使っていたライブラリー、MathLiveに脆弱性の原因をたどった。MathLiveは画面上のキーボードを操作するため、メインページにメッセージリスナーを追加していた。プレビューからそのリスナーにメッセージを送ることができたが、リスナーは送信元が信頼できる場所かどうかを確認していなかった。そして、受け取ったHTMLをメインページに挿入していた。
それだけでスクリプトタグが実行されるわけではなかった。しかしParameter Labsは、ページに新たなサンドボックス化されていないフレームを作らせる方法を見つけた。そのフレームはChatGPTのメインページによって作られるため、サイトの権限で動作し、被害者のログイン中のセッションを利用できた。研究者らによると、このアクセスを使って会話の一覧を取得し、自分たちには共有されていない非公開の会話を取り出し、その内容を外部サーバーに送信した。
Parameter Labsによると、被害者にアプリのインストールやワークスペースへの参加を求めることなく、通常の公開共有リンクで攻撃を仕掛けられた。再現実験の最終版では、リンクを開くだけで攻撃が成立した。それ以前の版では、被害者がChatGPTのPreviewボタンを一度クリックする必要があった。
OpenAIの対応は?
Parameter Labsによると、OpenAIは2026年10月26日に問題を修正し、報告をP1に分類した。研究について記事を書いたSimon Willisonは、OpenAIが5,000ドルのバグ報奨金を支払ったとしている。公開された報告では修正について説明されているが、研究者やOpenAIが、実際のユーザーに対してこの脆弱性が悪用された証拠を見つけたかどうかは明らかにされていない。
この事例は、プレビューが制限付きフレーム内で動作していても、リスクが残ることを示している。安全性は、周囲のページがメッセージや埋め込みコンテンツをどう扱うかにも左右される。Parameter Labsの攻撃は、被害者自身にコードを実行させるのではなく、これらの要素を組み合わせて共有可能なリンクにした。
なぜ重要か
ChatGPTを使う人にとって、この脆弱性は悪意ある共有会話を開くだけで、何もインストールせずに非公開チャットが漏れる恐れがあることを意味していた。OpenAIは10月26日に問題を修正したとしているが、それ以前に攻撃者が悪用したかどうかは、公開された報告からは分からない。