Parameter показала, що публічне посилання на чат ChatGPT виконувало код атакувальника в сесії жертви й читало її приватні розмови. OpenAI виправила це 26 жовтня 2026 року, оцінила як P1 і виплатила $5 000.

Пісочниця для Preview витримала. Пролом дала стороння бібліотека, яка залишила в основній сторінці слухача повідомлень без перевірки відправника.

Як зі звичайного посилання вийшов доступ до чужих чатів?

Атакувальник створював звичайний публічний чат і надсилав посилання так само, як справжнє: поштою, в месенджері, у тікеті підтримки чи в соцмережі. Жертві не треба було нічого встановлювати, входити в робочий простір чи авторизуватися через атакувальника.

Найнадійніший варіант вимагав одного кліку на кнопку Preview. У пізнішій версії дослідники зробили так, що Preview відкривався сам, тож вистачало відкрити посилання. Код працював із тим самим доступом, що й сайт ChatGPT, за даними Techmeme: він вивів список недавніх розмов, відкрив приватний чат, яким ніхто не ділився, і надіслав його фрагмент на сервер дослідників. Це був контрольований тест між окремими акаунтами. Про використання вразливості проти реальних людей не повідомляють.

Охоплення було ширшим за чати. Дослідники пишуть: «Essentially, we could perform any action on behalf of the victim's ChatGPT account».

Який ланцюжок зламав пісочницю?

Ланцюжок складався з двох функцій в одній розмові: Preview і інтерактивного графіка. Preview перетворює HTML із чату на невелику сторінку й запускає її в ізольованому фреймі на окремій адресі, звідки основна сторінка ChatGPT недоступна. Ця ізоляція спрацювала.

Графік під час малювання завантажував у головну сторінку бібліотеку MathLive. Вона залишала слухача, що приймав повідомлення про екранну клавіатуру від будь-якого відправника, причому з сирим HTML. Через це Preview міг передати HTML атакувальника довіреній сторінці. Цей HTML створював новий фрейм, який браузер вважав частиною chatgpt.com.

Далі потрібен був власний скрипт. Content security policy ChatGPT блокувала inline-код, але дозволяла скрипти з YouTube. За даними ShiftDelete.Net, дослідники використали для цього YouTube oEmbed endpoint.

Що було причиною, а що лише обхідним шляхом?

Причиною стали три збіглі проєктні рішення, а YouTube лише закрив останній крок. Parameter називає їх так:

Заблокувати лише YouTube було б замало: недовірений Preview усе одно міг би штовхати HTML в основний сайт. Станом на 26 жовтня обидві версії вебфронтенду ChatGPT відхиляють повідомлення, на яких трималася атака.

Хронологія: дослідники повідомили про проблему 18 жовтня, OpenAI відтворила атаку 21 жовтня й підняла серйозність із P2 до P1, виправлення вийшло за 8 днів, а технічний опис опубліковано 28 жовтня. Виплату зробили через Bugcrowd.

Що перевірити у власному продукті?

Розробникам iframe-превʼю варто перевірити чотири речі, які разом дали цей ланцюжок:

Користувачам ChatGPT нічого робити не треба: виправлення на боці OpenAI, оновлювати чи скидати нічого.