Parameter Labs (パラメータ・ラボ) は2026年10月31日(現地時間)、OpenAI の ChatGPT において、ユーザーアカウントの乗っ取りにつながる深刻な脆弱性を発見したと発表した。この脆弱性は、サインイン中のユーザーのプライベートデータを抜き出し、またそのユーザーに代わって不正なアクションを実行する危険性があったとParameter Labsは指摘している。OpenAI は、Parameter Labsからの報告を受けて速やかにこの脆弱性を修正し、同社に対し報奨金5,000ドルを支払ったことを明らかにした。一連の経緯はSimon Willison's Weblogを通じて報じられた。
Parameter Labsが発見した脆弱性は、ChatGPTのartifacts pattern (最新版はHTML previewsと呼ばれる) の実装を悪用するものだった。このパターンでは、インタラクティブなカスタムHTMLアプリがサンドボックス化されたiframe内で表示される。不正なコードがOpenAI の API とやり取りしたり、プライベートデータにアクセスしたりすることを防ぐため、これらのHTMLは厳密にサンドボックス化されていることが求められる。
Parameter Labsは、ChatGPTのサンドボックス化された環境を突破する複雑な攻撃チェーンを特定したと報告している。OpenAIがグラフサポートの一部として利用するMathLive JavaScriptライブラリには、仮想キーボード機能が組み込まれており、この機能はサンドボックス化されたiframeから postMessage() を介して親ページでトリガー可能だった。メッセージ受信コードは innerHTML を使用しており、Parameter Labsは、メッセージを送信するあらゆる要素が親ページにカスタムHTMLを追加できる状態であったと説明している。HTMLプレビューフレームを含む他のサンドボックス化されたフレームがこのメソッドを呼び出すことを防ぐ仕組みは存在しなかった。
この脆弱性により、iframe内の信頼できないコードがHTMLを挿入し、innerHTML はスクリプト要素を直接実行しないものの、サンドボックス制限のない新しいiframeの挿入に利用された。OpenAI の CSP (Content Security Policy) ルールはインラインスクリプトを完全にブロックし、スクリプトの読み込みを一部のドメインに限定していたが、そのうちの一つにYouTubeが含まれていたという。Parameter Labsは、YouTubeのoEmbedエンドポイントを利用することで、JavaScriptを反映させて実行させることが可能であったと分析している。ChatGPT上でJavaScriptの実行が可能になった時点で、APIからプライベートユーザーデータを取得し、画像参照を介して外部に送信することは容易であったとParameter Labsは指摘している。
参考: Simon Willison’s Weblog — 2026年11月1日 08:15 (JST)
原文ハイライト"How We Took Over ChatGPT Accounts"