ChatGPTアカウント乗っ取り脆弱性の分析
脆弱性:クロスサイトアカウント乗っ取り
2026年10月、セキュリティ研究者は、ChatGPTユーザーの認証済みセッション内で攻撃者が任意のJavaScriptを実行できる脆弱性を特定しました。攻撃者は、特別に細工された公開会話リンクを作成することで、被害者のブラウザに代わって操作を実行させ、プライベートな会話リストの列挙や機密性の高いチャット履歴の流出を行うことができました。このエクスプロイトは、共有リンクをクリックする以外のユーザー操作を必要とせず、一見無害な機能の連鎖を通じて標準的なセキュリティ境界を回避するものでした。
エクスプロイトチェーン
この脆弱性は単一の欠陥によるものではなく、ChatGPTの「プレビュー」機能、MathLive数学ライブラリ、クロスウィンドウメッセージングメカニズム、およびコンテンツセキュリティポリシー(CSP)バイパスという4つの異なるコンポーネント間の相互作用によって引き起こされました。
1. サンドボックスの突破
ChatGPTの「プレビュー」機能は、制限されたサンドボックス化されたiframe内でHTMLコードブロックをレンダリングします。この分離により、プレビューが親の chatgpt.com ドキュメントに直接アクセスすることは防がれていますが、研究者はメインページにMathLiveライブラリ向けの postMessage イベントのリスナーが含まれていることを発見しました。重要なことに、このリスナーはあらゆるオリジンからのメッセージを受け入れ、送信者の身元を確認していませんでした。
2. MathLiveを介したHTMLインジェクション
MathLiveリスナーに悪意のあるメッセージを送信することで、研究者はメインのChatGPTドキュメントに任意のHTMLを注入することに成功しました。アプリケーションは安全でない innerHTML 代入を使用しており、入力を適切にサニタイズできていなかったため、攻撃者は srcdoc 属性を持つ iframe を注入できました。このフレームはメインの chatgpt.com ドキュメントによって作成されたため、親のオリジンを継承し、実質的に元のサンドボックスから脱出しました。
3. CSPのバイパス
注入されたコードは当初、サイトのコンテンツセキュリティポリシー(CSP)によって制限されていましたが、研究者はこのポリシーがYouTubeからのスクリプトを許可していることを特定しました。YouTubeのoEmbedエンドポイントにあるJSONP形式のコールバックパラメータを活用することで、任意のJavaScriptを実行し、CSP制限を効果的にバイパスして、被害者のセッションコンテキストで完全な実行権限を獲得しました。
影響と修正
注入されたJavaScriptは被害者の認証済みセッション内で動作するため、ユーザーと同じ権限を持っていました。これにより、このエクスプロイトは以下のことが可能でした:
- 被害者のプライベートな会話履歴の列挙。
- 共有されていないプライベートな会話からのコンテンツの取得。
- ChatGPTのバックエンドAPIを介した不正な操作の実行。
OpenAIはこの報告をP1脆弱性に分類し、2026年10月26日にメッセージオリジンの適切な検証と入力のサニタイズを行うようフロントエンドを更新することで問題を解決しました。研究者には、この発見に対して5,000ドルの報奨金が支払われました。
コミュニティの議論と洞察
この開示はセキュリティコミュニティ内で大きな議論を巻き起こしました。特に、報奨金の妥当性とエクスプロイトの性質に関する議論が活発でした。多くのコメント投稿者は、重大なP1評価のアカウント乗っ取り脆弱性に対する5,000ドルの報酬は不十分であり、このような低い支払い額は責任ある開示を阻害する可能性があると懸念を表明しました。
"5k makes me think the next guy is gonna sell his exploit in the black market instead." — htk
また、現代のWebアプリケーションの複雑さがこのような欠陥の主な要因であると指摘し、この脆弱性の皮肉を述べる声もありました。
"This is exactly what happens as you build larger monoliths, system complexity and bug surface increases logarithmically." — usernametaken29
一部の業界専門家は、研究会社の調査手法についても懸念を提起しました。善意であっても、未承諾のセキュリティテストは、バグ報奨金プログラムを確立していない組織からは侵入的または専門的ではないと見なされる可能性があると指摘しています。
Sources
関連
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch