MacOS Ventura 当中发现了一个新漏洞,可以让攻击者绕过应用程序管理(App Management),该漏洞在苹果公司 10 个月未修复后被披露。杰夫-约翰逊(Jeff Johnson)是一名开发人员,多年来他发现了各种在线服务和软件中的漏洞。然而,在他最近一次披露的问题中,他这样做是因为苹果公司根本没有发布解决问题的更新。
约翰逊在 10 月份撰写了一篇关于 macOS Ventura 的应用程序管理功能的博文后,发现了一个不需要全磁盘访问的应用程序管理旁路。当时,他把这个问题发送给了苹果产品安全部门,希望得到回复。
苹果产品安全部门于 2022 年 10 月 19 日发现了该漏洞,并于 10 月 21 日承认了该报告的存在,但似乎并未采取任何措施。在等待了 10 个月之后,约翰逊于 2023 年 8 月 19 日公开分享了该漏洞。
通常情况下,漏洞会在开发者获知问题后的一定时间内向公众披露,一般是 60 到 120 天后,以便有时间开发和发布修复程序,而约翰逊之所以公开分享这个漏洞,是因为"我对苹果及时解决这个问题已经完全失去了信心"。
在指出等待 10 个月修复漏洞的荒谬性之后,约翰逊承认他将无法获得苹果安全悬赏金。不过,约翰逊也声称苹果公司并未承诺支付任何款项,并坚称苹果公司的政策规定,在问题修复发布之前,苹果公司拒绝支付或计算赏金,因此他"可能会永远白等"。
让约翰逊感到奇怪的是,他被记入了 macOS Ventura 13.4 的安全说明中,并被告知他的报告有助于修复另一个漏洞,但并没有支付奖金。
约翰逊在 10 月份的博文中说,应用程序至少有六种不同的方法来获取应用程序管理权限,但他对第六种方法保密。该漏洞就是第六种方法。
据开发者称,这涉及到应用程序沙盒,因为他无意中发现,沙盒中的应用程序可以修改本不应该修改的文件。这包括存储在公证应用程序捆绑包中的文件,而这些文件本应受到应用程序管理安全的保护。
虽然沙盒应用程序对文件系统的访问有限,但应用程序文件夹本身就是沙盒的一部分。非沙盒应用程序也可以打开沙盒应用中的文件,从而扩大沙箱应用程序的沙盒。
为了演示这个问题,Johnson 发布了一个示例 Xcode 项目,其中包括两个应用程序的源代码,一个沙箱应用程序包含在一个非沙箱版本中。沙盒辅助应用程序是一个基于文档的应用程序,可以覆盖文件内容并保存文件:
https://lapcatsoftware.com/articles/2023/8/2.html
约翰逊说,覆盖文件完全绕过了 macOS 13.5.1 中的应用管理。"绕过这一机制的直接性和简便性确实令人惊叹"。
这已经不是约翰逊第一次利用 macOS 漏洞了。在 2020 年 6 月的 macOS Mojave 中,他创建了一个绕过文件隐私和安全保护的漏洞,并将苹果当时的系统称为"安全剧场"。