Bhaviuk Jain, specjalista bezpieczeństwa z Infosec, otrzymał 100 tysięcy dolarów od Apple za wykrycie luki, która umożliwiała ominięcie uwierzytelnień i przejęcie konta użytkownika.
Podczas ubiegłorocznej konferencji WWDC Apple ogłosiło wprowadzenie funkcji „Zaloguj się z Apple". Pozwala ona użytkownikowi zalogować się przy użyciu swojego identyfikatora Apple ID bez konieczności korzystania z konta w mediach społecznościowych, wypełniania formularzy czy weryfikowania adresu e-mail i wybierania nowego hasła.
W kwietniu Bhaviuk Jain wykrył lukę 0-day, która mogła prowadzić do przejęcia konta osoby logującej się za pomocą Apple ID. Problem dotyczył aplikacji firm trzecich, które były zintegrowane z „Zaloguj się z Apple”, aczkolwiek nie posiadały własnych dodatkowych zabezpieczeń.
Funkcja „Zaloguj się z Apple” jest bardzo podobna do OAuth 2.0 i umożliwia uwierzytelnianie użytkownika na dwa sposoby: poprzez użycie JWT (JSON Web Token) lub kodu wygenerowanego na serwerze Apple. W czasie autoryzacji użytkownik może udostępnić identyfikator Apple ID aplikacji firm trzecich bądź nie zgodzić się na jego przekazanie. Jeśli identyfikator e-mail jest ukryty, Apple generuje token JWT zawierający informacje, która jest następnie wykorzystywana przez aplikację do uwierzytelnienia użytkownika.
Bhaviuk Jain zauważył, iż może zażądać od Apple tokenów uwierzytelniających dla każdego identyfikatora e-mail, które następnie zostają zweryfikowane przy użyciu klucza publicznego jako prawdziwe. Napastnik może zatem sfałszować token powiązany z dowolnym identyfikatorem e-mail i uzyskać za jego pomocą dostęp do konta ofiary.
Z opcją „Zaloguj się w Apple” zintegrowane są m.in serwisy Spotify, Dropbox, Airbnb czy Giphy.
Apple zapewnia, iż luka 0-day nigdy nie została wykorzystana, a błąd w usłudze „Zaloguj się z Apple” został usunięty.