TikTok устранила опасную уязвимость в своем приложении, которая могла позволить злоумышленнику отслеживать действия пользователей.
Недостаток был обнаружен специалистами ИБ-компании Imperva , которые уведомили TikTok о находке. По данным компании, ошибка находилась в обработчике событий, который не проверял должным образом источник сообщений, что давало киберпреступнику доступ к конфиденциальной информации пользователя.
В последние годы веб-приложения становятся все более сложными, и разработчики используют различные API и механизмы связи для повышения функциональности приложений и удобства пользователей. Обработчики событий помогают сложным приложениям справляться с входными данными из внешних источников.
В данном случае проблема заключалась в PostMessage (HTML5 Web Messaging API) – это механизм связи, который позволяет различным окнам безопасно осуществлять обмен данными между источниками в веб-приложении. Механизм позволяет сценариям из разных источников обмениваться сообщениями для преодоления ограничений, налагаемых политикой единого происхождения (Same-Origin Policy, SOP), которая ограничивает обмен данными между разными источниками.
Уязвимость позволяла злоумышленнику отправлять вредоносные сообщения в веб-приложение TikTok через API PostMessage в обход мер безопасности. В этот момент обработчик событий обрабатывает вредоносное сообщение так, как если бы оно исходило из надежного источника, предоставляя хакеру доступ к конфиденциальной информации пользователя.
Таким способом можно было получить следующую информацию:
- информация об устройстве жертвы (тип устройства, сведения об ОС и браузере);
- какие видео пользователь просматривал и как долго;
- информация об учетной записи (имя пользователя, загруженные видео и другие данные);
- поисковые запросы пользователя в TikTok.
Полученная информация могла быть использована для целевых фишинговых атак, кражи личных данных или даже шантажа, поэтому уязвимость могла быть чрезвычайно ценной для киберпреступника.