在 macOS 上你真的能信任那个权限弹出窗口吗?(CVE-2025-31250)| 关注此空间

主要观点:

  • 介绍了 CVE-2025-31250 漏洞,该漏洞在 macOS Sequoia 15.5 中被修复,允许应用 A 伪造 macOS 的权限同意提示,看似来自应用 B ,但用户同意响应应用于应用 C ,且无需构建假应用等复杂操作。
  • 解释了 TCC(Transparency, Consent, and Control)是苹果操作系统的核心权限系统,通过 XPC API 与tccd守护进程通信,苹果事件(Apple Events)是 macOS 上的进程间通信方法,与 TCC 相关,Mojave 10.14 起发送苹果事件需 TCC 同意,其数据库TCC.db记录用户同意结果。
  • 给出了利用该漏洞的概念验证(Proof-of-Concept)代码,展示了漏洞的逻辑错误及利用方式,包括限制和怪癖、利用时机、与旧漏洞的关联等。
  • 列出了漏洞的时间线,从报告给苹果到最终修复花费了很长时间。
  • 总结了一些相关内容,如 TCC 与 System Settings 隐私安全面板的关系、攻击者成功欺骗用户后的情况、苹果端点安全框架对 TCC 数据库修改的监控等,以及苹果的修复方式和作者的最终思考。

关键信息:

  • 漏洞可用于伪造权限同意提示,影响多个 TCC 服务,如麦克风、摄像头等。
  • TCC 通过tccd守护进程和 XPC API 工作,苹果事件与 TCC 相关,TCC.db记录同意结果。
  • 利用漏洞需注意时机,可等待特定应用启动或成为前台应用再显示伪造提示。
  • 漏洞报告时间线长,最终在 macOS Sequoia 15.5 中修复。
  • 苹果的修复方式较为复杂,使tccd不再处理特定类型的消息。

重要细节:

  • 代码中TCCPromptSpoofer类的方法用于伪造 TCC 提示,包括设置各种参数和处理相关数据。
  • 漏洞利用存在限制,如只能用于特定 TCC 服务,且需用户点击允许等。
  • 时间线中详细记录了与苹果沟通及等待修复的过程。
  • 苹果端点安全框架对 TCC 数据库的监控及可能的作用。
阅读 11
0 条评论