Een ernstig beveiligingslek in de inlogdienst Sign in with Apple maakte het mogelijk om willekeurige accounts van websites en applicaties die er gebruik van maken volledig over te nemen. Ongeacht of het slachtoffer over een geldig Apple ID beschikte. Apple beloonde Bhavuk Jain voor het vinden en rapporteren van de kwetsbaarheid met 100.000 dollar. De kwetsbaarheid is inmiddels verholpen.
Via Sign in with Apple kunnen gebruikers met hun Apple ID bij websites en apps inloggen en zo een account aanmaken. De inlogdienst kan gebruikers authenticeren via een JWT (JSON Web Token) of een code die door de Apple-server wordt gegenereerd. Deze code wordt vervolgens gebruikt voor het genereren van een JWT waarmee de website of app de identiteit controleert van de gebruiker die wil inloggen.
Eén van de features van Sign in with Apple is dat gebruikers niet meer hun e-mailadres hoeven te delen met de website of app waar ze een account willen aanmaken. Apple ontwikkelde hiervoor een aparte relaydienst die e-mails van de website of app doorstuurt naar het e-mailadres van de gebruiker. Wanneer de gebruiker via Sign in with Apple wil inloggen en ervoor kiest om zijn e-mailadres niet te delen, genereert Apple voor de gebruiker een specifiek Apple relay Email ID. Vervolgens creëert Apple een JSON Web Token die het relay Email ID bevat en door de website of app wordt gebruikt om de gebruiker in te loggen.
Apple bleek niet te controleren of de persoon die de JSON Web Token opvraagt ook de eigenaar van het betreffende Apple ID is. Zo was het mogelijk voor een aanvaller om het Apple ID van een slachtoffer op te geven en met de ontvangen JWT vervolgens op zijn of haar website- of app-account in te loggen.
"Ik ontdekte dat ik JSON Web Tokens voor elk Email ID van Apple kon opvragen en dat wanneer de digitale handtekening van deze tokens met de public key van Apple werd gecontroleerd, ze als geldig werden weergegeven. Dit houdt in dat een aanvaller een JSON Web Token kon vervalsen door het aan een willekeurig Email ID te koppelen en zo toegang tot het account van het slachtoffer te krijgen", aldus de onderzoeker. Zelfs als gebruikers ervoor hadden gekozen om bij het aanmaken van hun account bij een website of app niet hun Apple ID e-mailadres te delen, was het nog steeds mogelijk om toegang te krijgen. Daarnaast was het ook mogelijk om nieuwe accounts met het Apple ID van een slachtoffer aan te maken.
Jain merkt op dat veel ontwikkelaars van Sign in with Apple gebruikmaken, zoals Dropbox, Airbnb en Spotify. De onderzoeker heeft de aanval niet bij deze diensten getest, maar stelt dat een aanvaller accounts zou hebben kunnen overnemen wanneer deze diensten geen aanvullende beveiligingsmaatregelen tijdens de verificatie van de gebruiker toepasten. Afsluitend meldt Jain dat Apple een onderzoek naar het beveiligingslek heeft ingesteld en er geen aanwijzingen van misbruik zijn gevonden.
Deze posting is gelocked. Reageren is niet meer mogelijk.