Кібербезпека

ChatGPT мав вразливість P1 через спільні посилання для викрадення чатів

V

Voydevich.com · редактор Богдан Войдевич

3 хв читання

Ноутбук на дерев'яному столі в темній кімнаті з променем світла на клавіатурі

Дослідники компанії з кібербезпеки Parameter виявили вразливість, яка дозволяла виконувати код атакуючого в авторизованій сесії користувача ChatGPT за допомогою звичайного публічного посилання на спільний чат. Це відкривало доступ до читання приватних розмов без відома жертви.

Команда повідомила OpenAI про проблему 18 жовтня через програму bug bounty. Компанія виправила вразливість через вісім днів, підвищивши її рівень серйозності з P2 до найвищого — P1, та виплатила $5,000 винагороди.

Як працювала атака

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

У найнадійнішій початковій версії жертві було достатньо відкрити посилання і один раз натиснути кнопку Preview. У пізнішій версії сторінку налаштували так, щоб Preview відкривався автоматично — потрібен був лише перехід за посиланням.

Після відкриття шкідливий код запускався всередині авторизованої сесії з тими ж правами доступу, що й основний сайт ChatGPT. Він безпосередньо викликав внутрішні API платформи, отримував список останніх діалогів, відкривав приватний чат і надсилав фрагмент даних на контрольований дослідниками сервер. Фактично атакуючий міг виконати будь-яку дію від імені акаунта жертви.

Parameter проводила контрольоване тестування між власними обліковими записами і не зафіксувала фактів використання цієї вразливості в реальних атаках.

Ланцюжок виходу з пісочниці

Для ізоляції потенційно небезпечного коду ChatGPT запускає функцію Preview (яка генерує вебсторінки з HTML) в окремому заблокованому фреймі на іншій веб-адресі. Сам цей сендбокс витримав ізоляцію, проте вразливість виникла через взаємодію з іншою функцією:

  1. Спільний чат містив інтерактивний графік, для відображення якого на головну сторінку ChatGPT завантажувалася математична бібліотека MathLive.
  2. Робота MathLive залишала активним слухач повідомлень (listener), який приймав інструкції для екранної клавіатури від будь-якого відправника без перевірки джерела повідомлення між браузерними фреймами.
  3. Це повідомлення дозволяло передавати «сирий» HTML. У результаті Preview зміг передати шкідливий HTML на довірену головну сторінку.
  4. Переданий HTML створював новий фрейм, який браузер вважав частиною домену chatgpt.com.
  5. Для виконання коду всередині фрейму підтягувався скрипт із YouTube, оскільки Content Security Policy платформи блокувала inline-код, але дозволяла скрипти із цього джерела.

Виправлення на стороні OpenAI

OpenAI підтвердила виконання коду та читання приватних чатів. До 26 жовтня розробники розгорнули патч у двох версіях вебфронтенду ChatGPT, заблокувавши повідомлення, на яких базувалася атака.

Користувачам сервісу не потрібно вживати жодних дій чи змінювати налаштування, оскільки всі зміни було внесено на стороні веб-інтерфейсу OpenAI.

Реклама · cv-finder.com

Покажіть AI-стек у резюме без зайвого шуму

AI-асистент CV-Finder допоможе описати LLM/ML-проєкти через результати.

Оформити CV

Що це означає для розробників

Веброзробникам слід звернути увагу на небезпеку передавання postMessage між фреймами без валідації джерела (origin) та фільтрації сирого HTML у сторонніх бібліотеках. Також випадок демонструє, що дозволені домени в Content Security Policy (як-от YouTube) можуть бути використані для обходу обмежень виконання скриптів.

Ключові факти

  • Вразливість дозволяла запускати сторонній код у сесії ChatGPT просто під час переходу за посиланням на спільний чат.

  • Експлойт використовував бібліотеку MathLive, яка приймала необроблені повідомлення без перевірки відправника фрейму.

  • OpenAI оцінила проблему найвищим рівнем P1, закрила її за 8 днів і виплатила дослідникам $5,000.

  • Користувачам не потрібно оновлювати клієнти або скидати дані, оскільки патч застосовано на стороні вебфронтенду.

КібербезпекаШтучний інтелектВеб-розробка

Додайте Voydevich.com у бажані джерела Google, щоб частіше бачити наші новини в пошуку.

Реклама · cv-finder.com

Покажіть AI-стек у резюме без зайвого шуму

AI-асистент CV-Finder допоможе описати LLM/ML-проєкти через результати.

Оформити CV

Попередні статті