Уязвимость закрыли ещё до публикации, а исследователь получил 100 тысяч долларов от компании.
Специалист по кибербезопасности Бавук Джайн (Bhavuk Jain) рассказал о критической уязвимости в системе авторизации «Войти через Apple». Она позволяла получить доступ к аккаунтам пользователей в сторонних сервисах, если те входили в них с помощью Apple.
Джайн подробно описал работу уязвимости на своём сайте. Проблема возникла из-за того, что система Apple после ввода данных Apple ID не проверяла, запрашивает ли ключ JSON Web Token (JWT) тот же пользователь.
Как обнаружил исследователь, из-за отсутствия проверки, серверы Apple можно было заставить генерировать корректные токены на аккаунты жертв. Сторонние сервисы принимали их, а значит злоумышленник мог получить доступ к аккаунту, если пользователь использовал вход через Apple.
Джайн сообщил о находке в Apple. Компания закрыла уязвимость и заплатила ему 100 тысяч долларов — максимальное вознаграждение по программе поиска багов.
В Apple исследователю рассказали, что после проверки логов серверов в компании не обнаружили ни одного случая использования уязвимости до её устранения. При этом проблема не затрагивала сами аккаунты Apple ID, только сервисы, в которые можно войти с помощью Apple. Однако от уязвимости не могла защитить даже функция подстановки случайного адреса электронной почты на серверах компании вместо настоящих данных пользователей.
Компания представила функцию Sign in with Apple («Войти через Apple») на конференции для разработчиков WWDC 2019. Во время презентации Apple сделала особый акцент на безопасности системы — она позволяет авторизовываться в сторонних сервисах с помощью биометрии Face ID и Touch ID, не передавая личных данных пользователей.
Позже стало известно, что авторизацию через Apple сделали обязательной во всех сервисах, где есть возможность авторизации через соцсети вроде Facebook. С тех пор её добавили к себе Adobe, Dropbox, Spotify, Airbnb и не только.