Уязвимость позволяла любому желающему перехватить токен авторизации для входа в Tinder.
Разработчикам приложений стоит обратить внимание на то, как они используют инструмент Account Kit от Facebook для идентификации пользователей. Ананд Пракаш (Anand Prakash) из Appsecure обнаружил в нем уязвимость, из-за которой пользователи популярного приложения для знакомств Tinder оказались открытыми для взломов.
Когда пользователь Tinder заходит в свой профиль, используя в качестве логина номер телефона, с помощью сайта AccountKit.com приложение проверяет, действительно ли он является законным владельцем учетной записи.
Система работает следующим образом. На телефон пользователя приходит текстовое сообщение с кодом подтверждения, который нужно ввести на сайте Account Kit. Сайт проверяет подлинность кода и в случае успеха отправляет Tinder токен авторизации, после чего пользователь заходит в свою учетную запись без необходимости вводить пароль. Tinder привязан к номеру телефона, и пока пользователь способен получать текстовые сообщения, он может с легкостью заходить в свой профиль.
Тем не менее, Ананд Пракаш обнаружил, что Account Kit не проверяет подлинность проверочного кода, если его API используется определенным образом. Злоумышленник может использовать номер телефона в качестве параметра new_phone_number в HTTP-запросе, отправляемом API, и тем самым избежать проверки кода, но получить при этом токен авторизации. Другими словами, можно отправить Account Kit любой номер телефона и получить токен в качестве cookie-файла в HTTP-ответе на запрос, отправленный API.
Пракаш сообщил о своем открытии Facebook и Tinder и получил от них $5 тыс. и $1,25 тыс. соответственно в рамках программ выплаты вознаграждений за обнаруженные уязвимости. Исследователь опубликовал подробности о проблеме после выхода исправлений. Никаких свидетельств эксплуатации уязвимости в реальных атаках обнаружено не было.