注意まだ起きていない

ChatGPT の共有リンクを開くだけで非公開チャットを読まれる欠陥、修正済み

細工した ChatGPT の共有リンクを開くと、攻撃者のコードが自分のログイン中の画面で動き、非公開の会話を読まれるおそれがあった。研究者 Parameter が報告し、OpenAI は2026年10月26日に直した。条件と確かめ方をまとめる。

要点

  • 攻撃者が細工した ChatGPT の共有リンクを開くと、攻撃者のコードが自分のログイン中の ChatGPT で動き、共有していない会話まで読まれるおそれがあった。
  • 見つけたのはセキュリティ企業 Parameter で、OpenAI は報告から8日後の2026年10月26日に直した。利用者側でやることはない。
  • 研究者の検証で示された段階の話で、実際に悪用されたという報告はない。

何が起きたか

ChatGPT には、会話を URL にして他の人に見せる「共有リンク」の機能がある。セキュリティ企業 Parameter の Mukul Goyal 氏は2026年10月28日、この共有リンクを使って、開いた人の ChatGPT アカウントで勝手に動くコードを仕込めたと報告した。

Parameter によると、当たる条件は次のとおりだ。

  • ブラウザで ChatGPT にログインしている。
  • 攻撃者が作った共有リンクを開く。リンクはふつうの公開リンクで、メールやチャット、SNS などで送られうる。
  • 最も安定した版では、会話の中の「Preview」(HTML の表示を試すボタン)を1回押す必要があった。のちの版では Preview が自動で開くようにでき、リンクを開くだけで足りたという。

アプリを入れる、コードを貼る、といった操作は要らなかったと Parameter は書いている。

仕込まれたコードは、被害者本人として ChatGPT を操作できたと Parameter は報告している。攻撃者が共有を受けたことのない会話も、その対象に入る。中身を取り出して外のサーバーへ送るところまで確かめたという。Parameter は、報告の題で「アカウントの乗っ取り」と呼んでいる。ただし検証は研究者が用意した別のアカウントどうしで行い、送ったデータもわずかにとどめたという。

日本の利用者への影響

仕事の資料や個人的な相談を ChatGPT に入れている人は多く、それが読まれうる点で身近な話だ。

Parameter の報告には、実際の悪用についての記述はない。日本の利用者が当たったかどうかも分からない。スマートフォンのアプリが当たるかどうかも、報告には書かれていない。

今すぐやること

  1. やり直しは要らない。 OpenAI の修正はサーバー側で済んでおり、何かを入れ直したりパスワードを変えたりする必要はないと The Hacker News は伝えている。
  2. 知らない人からの共有リンクは、ほかのリンクと同じく疑う。 心当たりのない ChatGPT の共有リンクは開かない。開いても、出どころの分からない会話で Preview を押さない。
  3. 自分の共有リンクを見直す。 設定の「データコントロール」にある「共有リンク」の「管理」から、作ったリンクの一覧を見て、要らないものを消せる(OpenAI のヘルプによる)。OpenAI のヘルプによると、個人アカウントで作ったリンクは、リンクを持つ人なら誰でも見られる。見せる相手を一人ずつ選ぶ仕組みはない。
  4. 会話の履歴を見て、覚えのないものがないか確かめる。 見覚えのない会話や、自分が作っていない共有リンクがあれば、OpenAI のサポートに相談する。
  5. 大事な情報は入れすぎない。 今回のような欠陥は今後も見つかりうる。パスワードや顧客の個人情報など、漏れて困るものは ChatGPT に入れないのが無難だ。

背景

Web の画面では、危ないかもしれない中身を「サンドボックス」(外に手を出せない囲い)の中で動かすことが多い。ChatGPT の Preview も、別のドメインの囲いの中で HTML を動かしていた。Parameter によると、この囲い自体は破られていない。

問題は、囲いの外にある別の部品だった。共有された会話に対話式のグラフがあると、数式入力のための部品(MathLive)が ChatGPT の本体の画面に読み込まれる。この部品は、ほかの枠から届くメッセージを、誰が送ったか確かめずに受け付けていた。Preview の囲いの中から送ったメッセージが本体の画面に届き、囲いのない枠が作られて、そこで攻撃者のコードが動いたという。

囲いそのものがどれだけ固くても、囲いの内と外をつなぐ通り道が一つでも甘ければ守りにならない。一つひとつの機能は安全でも、組み合わせると穴になる例だ。

OpenAI はこの問題を再現したうえで深刻度を P2 から最も重い P1 に上げ、5,000 ドルの報奨金を払ったと Parameter は報告している。

技術者向けの詳細
  • 経緯(Parameter の報告による)
    • 2026-10-18: OpenAI のバグ報奨金プログラムに報告
    • 2026-10-21: OpenAI が再現し、P2 → P1 に引き上げ
    • 2026-10-26: 2つある Web フロントエンドの両方で、問題のメッセージを拒むよう修正。解決扱い
    • 2026-10-28: Parameter が公開
  • 原因(Parameter の分析による): 弱いところが1か所ではなく、本体の画面に読み込まれた MathLive の中でいくつも重なっていた。キーボード関連の postMessage の受け手は event.origin も event.source も照合していなかった。しかも、渡される配列データには生の HTML を入れられた。createHTML ヘルパーも値を無害化せず、そのまま返していたとされる。その HTML は sandbox 属性のない srcdoc iframe として描かれ、chatgpt.com のオリジンで動いた。
  • CSP について: インラインスクリプトは CSP で止まっていた。それでも、許可されていた YouTube の oEmbed(JSONP)を使って迂回できたという。Parameter の見方では、穴の本体は上の MathLive 側にある。CSP は最後の守りとして置くもので、ほかの対策の代わりにはならないとしている。
  • 開発者への勧め(Parameter の勧めを要約): 動的に作る文書から sandbox を外さない。枠をまたいで渡す設定値に HTML を入れない。メッセージの受け手では、送り元のオリジンと、許可した window そのものを両方照合する。共有で人に見せる画面は、機能を一つずつではなく組み合わせて試す。
  • 詳しい流れは Parameter の報告を参照

出典

一次情報

報道

参考

記事は、運営者が生成 AI を活用して作成し、内容を確かめたうえで公開しています。 誤りに気づいたら編集方針の連絡先へ。

次に読む

同じタグの記事