Критическая уязвимость в ChatGPT позволяет завладеть чужим аккаунтом и украсть данные

Команда OpenAI — это компания, которая занимается исследованиями и разработкой в области искусственного интеллекта. Она была основана в 2015 году и создана с целью сделать искусственный интеллект более доступным и безопасным для людей. Компания разрабатывает и использует нейронные сети и другие методы искусственного интеллекта для решения различных задач, включая анализ данных, генерацию текста, голоса, изображений и т.д.

» data-html=»true» data-original-title=»OpenAI»>OpenAI 27 марта исправила критическую уязвимость ChatGPT, которая позволяет без ведома жертвы завладеть её аккаунтом, просмотреть историю чатов и получить доступ к платежной информации. Об ошибке компании сообщил
багхантер Nagli и предоставил видео-демонстрацию .

Исследователю удалось провести атаку Когда пользователь переходит на несуществующий ресурс и запрашивает файл, которого нет на сервере, это приводит к некорректному кешированию страницы. В этот момент в кэш могут попасть персональные данные.

Для проведения атаки злоумышленник должен убедить жертву открыть ссылку на несуществующий контент. Сервер создаст кэш с персональными данными жертвы, а затем хакер сам запросит вредоносный URL, получив не только страницу из кэша, но и персональные данные жертвы.

» data-html=»true» data-original-title=»Web Cache Deception»>«Web Cache Deception» (обман веб-кэша). Изучая запросы, обрабатывающие поток аутентификации ChatGPT, специалист заметил GET-запрос, который может раскрыть информацию о пользователе: «

При каждом входе в экземпляр ChatGPT, приложение извлекает данные учетной записи – email, имя, изображение и маркер доступа (Access Token) с сервера. Выглядит это так:

Эксперт смоделировал ситуацию, когда жертва получает от злоумышленника ссылку на несуществующий ресурс с расширением файла, добавленным к конечной точке: «chat.openai.com/api/auth/session/test.css»

OpenAI возвращает чувствительные данные в JSON после добавления расширения файла «css». Это могло быть связано с ошибкой регулярного выражения или просто с тем, что разработчики не учитывали этот вектор атаки.

Далее специалист поменял заголовок ответа «CF-Cache-Status» на значение «HIT». Это означает, что данные были кэшированы, и они будут возвращены при следующем запросе по тому же адресу. В результате злоумышленник получает необходимые данные для перехвата токена жертвы.

Схема атаки:

  1. Злоумышленник создает выделенный путь «.css» к конечной точке «/api/auth/session»;
  2. Хакер распространяет ссылку (напрямую жертве или публично);
  3. Жертва переходит по ссылке;
  4. Ответ кэшируется;
  5. Киберпреступник получает учетные данные JWT (JSON Web Token) и получает полный доступ к аккаунту цели.

Рекомендации по исправлению:

1. C помощью регулярного выражения проинструктируйте кэширующий сервер не перехватывать конечную точку (OpenAI исправила ошибку с помощью этого метода);

2. Не возвращайте конфиденциальный ответ JSON, если вы напрямую не запрашиваете желаемую конечную точку:

!=
/test.css


Источник