The Zero Day vulnerability could have allowed a hacker to break into an Apple user’s account who log into third-party apps like like Dropbox, Spotify, Airbnb and Giphy (now acquired by Facebook) and more.
Jain who holds a bachelor’s degree in electronics and communication discovered Zero Day bug in ‘Sign in with Apple’ that affected third-party applications which were using it, and didn’t implement their own additional security measures.
“This bug could have resulted in a full account takeover of user accounts on that third party application irrespective of a victim having a valid Apple ID or not,” Jain said in a statement on Saturday.
“For this vulnerability, I was paid $100,000 by Apple under their Apple Security Bounty programme,” he announced.
Jain is a full-stack developer interested mostly in mobile app development using React Native. He is currently a full-time bug bounty hunter “trying to make the internet a safer place for everyone”.
Launched in 2019, ‘Sign in with Apple’ is aimed to be a more privacy-focused alternative to third-party logins.
Jain disclosed the flaw to Apple which led to an award from Apple’s bug bounty programme. Apple has since patched the bug.
According to Jain, the ‘Sign in with Apple’ works similarly to ‘OAuth 2.0’.
“There are two possible ways to authenticate a user by either using a JWT (JSON Web Token) or a code generated by the Apple server. The code is then used to generate a JWT,” he explained.
In the second step, while authorizing, Apple gives an option to a user to either share the Apple Email ID with the third party app or not.
If the user decides to hide the Email ID, Apple generates its own user-specific Apple relay Email ID.
“Depending upon the user selection, after successful authorization, Apple creates a JWT which contains this email ID which is then used by the 3rd party app to login a user,” said Jain.
He found that he could request JWTs for any email ID from Apple and when the signature of these tokens was verified using Apple’s public key, they showed as valid.
“This means an attacker could forge a JWT by linking any Email ID to it and gaining access to the victim’s account,” Jain noted.
The impact of this vulnerability was quite critical as it could have allowed full account takeover.
A lot of developers have integrated Sign in with Apple since it is mandatory for applications that support other social logins.
Before patching the bug, Apple did an investigation of their logs and determined there was no misuse or account compromise due to this vulnerability.