В популярных протоколах авторизации и аутентификации OAuth и OpenID обнаружена уязвимость. Брешь нашел студент Ван Цзин (Wang Jing) с факультета математики Наньянского технологического университета в Сингапуре. Для ее эксплуатации студент использовал эксплоит скрытого редиректа (covert redirect).
Протоколы OAuth и OpenID используются для авторизации пользователей на определенных ресурсах. OAuth создан для того, чтобы пользователи могли регистрироваться или подписываться на другие сервисы, используя учетную запись в Google, Facebook, Microsoft или Twitter. OpenID, в свою очередь, используется для децентрализованной аутентификации на сторонних сайтах, раскрывая персональные данные пользователей.
По словам Ван Цзина, обнаруженная им уязвимость может затронуть пользователей, которые используют OAuth и OpenID протоколы для авторизации на таким сайтах, как Facebook, Google, Yahoo, LinkedIn, Microsoft, VK, Mail.Ru, PayPal, GitHub и др.
При использовании эксплоита скрытого редиректа, провайдеру выдается запрос от якобы нормального приложения, однако, на самом деле, проводится скрытое перенаправление на другой сайт, заменив значение redirect_uri в URL. Это может стать причиной кражи конфиденциальной информации пользователя, а посещение web-сайта, на который его перенаправили, может подвергнуть его дальнейшей компрометации.
В случае с Facebook злоумышленники могут получить доступ к адресам электронной почты, датам рождения, контактам, информации о месте работы и пр.
Ван Цзин опубликовал видеоролик, демонстрирующий один из способов эксплуатации обнаруженной уязвимости, на примере Facebook OAuth 2.0.