Исследователи Check Point обнаружили множество проблем в одном из популярнейших в мире приложений, TikTok. Так, зная номер телефона жертвы, злоумышленники могли манипулировать чужими учетными записями и получать доступ к личным данным. Фактически объединение нескольких уязвимостей позволяло удаленно выполнять вредоносный код и совершать нежелательные действия от имени жертв и без их согласия.
По отдельности все обнаруженные уязвимости имели низкий уровень опасности и были связаны со спуфингом ссылок в SMS-сообщениях, открытыми редиректами и XSS. Однако в сочетании эти баги позволяли удаленному атакующему выполнить следующие действия:
- удалить любые видео из профиля жертвы;
- загружать неавторизованные видео в профиль жертв;
- сделать приватные «скрытые» видео публичными;
- раскрыть личную информацию, сохраненную в учетной записи, в том числе адреса и email’ы.
Для атаки специалисты использовали небезопасную систему отправки SMS-сообщений, которую TikTok предлагает на своем сайте: пользователи могли отправить сообщение на свой номер телефона и получить ссылку для загрузки приложения.
Как оказалось, злоумышленник мог отправить SMS-сообщение от лица TikTok на любой номер, поместив в это сообщение специальный URL, ведущий на вредоносную страницу, предназначенную для выполнения кода на устройстве с уже установленным приложением TikTok.
В сочетании с проблемами открытых редиректов и межсайтового скриптинга атака позволяла выполнить JavaScript-код от имени жертвы, сразу же после того, как пользователи нажимал на ссылку, полученную через SMS. Видеодемонстрацию атаки можно увидеть ниже.
Check Point уведомила об этих уязвимостях компанию ByteDance, разработчика TikTok, еще в конце ноября 2019 года, и через месяц разработчики выпустили патчи, исправив все найденные проблемы.