
Спільне посилання ChatGPT могло запускати код зловмисника у вашій сесії та читати приватні чати
Дослідники з Parameter виявили вразливість у спільних посиланнях ChatGPT, яка могла давати коду зловмисника виконуватися в сесії зі входом, читати приватні чати й діяти від імені облікового запису. OpenAI виправила її до 26 жовтня.
Дослідники з компанії з кібербезпеки Parameter виявили, що шкідливе спільне посилання ChatGPT могло запускати код зловмисника в сесії зі входом будь-кого, хто його відкрив, що давало доступ до приватних розмов. Про вразливість повідомили через програму OpenAI з винагород за помилки 18 жовтня, виправили через вісім днів і оцінили як P1, найсерйознішу категорію OpenAI. Атака використовувала звичайний спільний чат і не вимагала від жертви встановлювати програмне забезпечення, приєднуватися до робочого простору чи входити через зловмисника.
Що дозволяла вразливість
Після відкриття посилання код виконувався з тими самими правами доступу, що й справжній сайт ChatGPT. Він перелічував нещодавні розмови, відкривав приватний чат, який ніколи не надавався зловмиснику, і надсилав невелику його частину на сервер, який контролювали дослідники. Оскільки він напряму викликав API ChatGPT для автентифікованих користувачів, дослідники сказали, що він міг виконувати дії від імені облікового запису жертви. Це був контрольований тест, Parameter не повідомляла про використання в реальному світі, а доказ із приватним чатом виконувався між окремими обліковими записами.
Як працювала атака
Функція Preview у ChatGPT може перетворювати блок HTML у чаті на невелику вебсторінку, яка виконується в ізольованому фреймі за окремою вебадресою. Ця пісочниця витримала. Шлях усередину з'явився через інтерактивний графік у тому самому спільному чаті: його малювання завантажувало бібліотеку MathLive на головну сторінку ChatGPT. Завантаження MathLive залишало обробник повідомлень про її екранну клавіатуру, і Parameter виявила, що він приймав повідомлення клавіатури від будь-якого відправника. Це повідомлення могло містити необроблений HTML, що дозволяло Preview передавати HTML зловмисника довіреній головній сторінці. HTML створював новий фрейм, який браузер вважав частиною chatgpt.com, а сценарій, завантажений з YouTube, постачав код. Політика безпеки вмісту ChatGPT блокувала вбудований код, але дозволяла скрипти з YouTube.
Що змінила OpenAI
OpenAI відтворила як виконання коду, так і доказ із приватним чатом, підвищила рівень серйозності з P2 до P1 і розгорнула виправлення у двох версіях вебфронтенду ChatGPT. До 26 жовтня обидві версії відхиляли повідомлення, на які покладалася атака. Parameter простежила проблему до трьох конструктивних рішень: MathLive реагувала на повідомлення, яке змінювало її налаштування, не перевіряючи, який фрейм його надіслав; цьому повідомленню дозволялося містити необроблений HTML як дані розкладки клавіатури; і HTML міг створювати фрейм, який не був ізольований пісочницею та успадковував ідентичність chatgpt.com. Крок із YouTube був лише останнім обхідним шляхом, а не причиною.
Що потрібно робити користувачам
Користувачам ChatGPT не потрібно вживати жодних дій. Виправлення на боці OpenAI, нічого не потрібно встановлювати чи скидати. Parameter опублікувала свій звіт 28 жовтня, після виправлення, і OpenAI сплатила загалом $5,000 за звіт.
Джерела: The Hacker News
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.