Apple公司近日通过漏洞奖励计划向印度漏洞研究人员Bhavuk Jain发放了10万美元的漏洞奖励,感谢其发现的影响Sign in with Apple系统的严重0 day漏洞。远程攻击者利用该漏洞可以绕过认证,接管目标用户通过Sign in with Apple功能注册的第三方服务和app上的账户。
Sign in with Apple特征是2019年苹果WWDC大会上引入的一个新的保留隐私的登陆机制,允许用户在不泄露其真实邮箱地址(Apple ID)的情况下通过第三方app登入账户。
Bhavuk Jain称,该漏洞产生的原因是苹果在初始化来自苹果认证服务器的请求前,在客户端验证用户的方式存在问题。在通过Sign in with Apple认证用户时,服务器会生成一个含有第三方应用用来确认登陆用户身份的机密信息的JSON Web Token (JWT)。
Bhavuk发现虽然苹果要求用户在初始化请求之前要登入苹果账户,但在下一步并不会验证是不是相同的人在请求JSON Web Token (JWT)。因此,现有机制缺乏一个验证的步骤,会导致攻击者提供了一个属于受害者的额外的Apple ID,诱使苹果服务器生成用受害者身份登入第三方服务的JWT payload。
Bhavuk称,可以请求注册了苹果ID的Email的JSW,当这些token的签名经过苹果的公钥验证后,就是有效的。也就是说攻击者可以通过链接任意邮箱Email ID和获取受害者账户的访问权限来伪造一个JWT。
研究人员向Hacker News确认即时用户选择向第三方服务隐藏邮箱地址,攻击者仍然可以利用该漏洞来用受害者的Apple ID来注册新的账户。
该漏洞的影响非常严重,可以用来完全接管账户。因为许多开发者都使用了Sign in with Apple功能,比如Dropbox、Spotify、Airbnb美国id苹果账号免费20223月、Giphy等。虽然该漏洞位于apple侧的代码中,但研究人员称一些提供Sign in with Apple的服务和应用可以使用双因子认证的方式来缓解这一漏洞带来的影响微信苹果美国id共享。
Bhavuk已于4月将该漏洞提交给了apple公司美国苹果id注册地址,苹果也发布了该漏洞的补丁。除了发布漏洞补丁外,苹果公司称还分析了服务器日志,并没有发现任何apple账户被利用的期情况。