macOS 上的应用可执行文件覆盖漏洞:绕过代码签名检查
来源:mysk.blog — 2026-07-23
📋 概述
作者披露了一个 macOS 安全机制中的漏洞:可以覆盖已签名应用包中的可执行文件而不会触发代码签名验证失败。该漏洞利用了 macOS 对已安装应用的特殊处理方式——当应用从特定位置(如 /Applications)启动后,系统在某些条件下不会重新验证其代码签名,允许无特权进程替换二进制文件。
🔑 核心要点
- 漏洞原理:macOS 对已启动的应用采用缓存签名验证机制,在特定条件下不会重新校验被替换的可执行文件
- 攻击条件:应用必须从受信任的位置(/Applications 或经过公证的 DMG 安装路径)首次启动
- 利用方式:恶意进程可以静默替换已运行应用的 Mach-O 二进制,在下一次启动时执行任意代码且不触发 Gatekeeper
- 影响范围:该漏洞不要求 root 权限——只需对应用包有写权限(默认情况下用户安装的应用可写)
- 作者已向 Apple 报告,问题根源在于代码签名验证的频率和时机设计存在缺陷
💡 金句
Once an app is trusted, macOS stops checking — and that trust can be silently betrayed.
👍 0
👎 0
← 返回 Lobsters 首页