macOSLPE漏洞再次出现:.localized目录被利用劫持安装程序并获取root权限

admin 2025-12-22 04:14:08 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 安全研究员发现一个macOS本地提权漏洞,利用系统处理文件命名冲突时创建.localized目录的行为。攻击者可预先放置恶意应用,诱骗用户安装合法程序后,系统会将合法程序安装到.localized目录,但安装程序注册的后台服务仍指向原始路径,导致攻击者的恶意代码以root权限执行。该漏洞长期存在且影响第三方安装程序,建议苹果公司提供全面修复方案。 综合评分: 88 文章分类: 漏洞分析,漏洞预警,终端安全,应用安全,安全建设


cover_image

macOS LPE漏洞再次出现:.localized目录被利用劫持安装程序并获取root权限

sec随谈

sec随谈

2025年12月16日 09:11 北京

macOS 第三方安装程序中一个长期存在的漏洞再次浮出水面,攻击者可以利用该漏洞劫持特权进程并获得系统 root 权限。该漏洞由安全研究员 Csaba Fitzl 发现,它利用了 macOS 处理文件命名冲突时的一个特殊行为,尽管七年来已有相关报告和部分修复,但该漏洞仍然存在。

该漏洞会影响尝试从应用程序包内部运行特权命令的安装程序——对于需要安装辅助工具或后台守护程序的软件来说,这是一种常见的做法。

问题的核心可以追溯到 2018 年,当时 Fitzl 首次报告称,攻击者可以抢在安装程序之前预先创建目录结构。通过在合法安装程序到达之前控制这些目录,攻击者可以替换二进制文件,并诱使安装程序以 root 用户身份执行恶意代码。

虽然苹果公司在 macOS Sonoma 中解决了特定的竞争条件,并且研究人员 Mickey Jin 最近获得了 CVE-2025-24099 来修复相关问题,但底层逻辑缺陷仍然可以通过涉及隐藏的 .localized 目录的新途径加以利用。

“这个漏洞由来已久,苹果公司一直未能彻底修复它……所以到了 2025 年,7 年过去了,这个漏洞仍然可以被利用,尽管利用方式有所不同,”菲茨尔写道。

这种新的攻击技术利用了 macOS 文件系统中用于处理命名冲突的功能。

当安装程序尝试将应用程序(例如 Test.app)放置到 /Applications 文件夹中,但该文件夹已存在且 Bundle ID 不同时,系统不会覆盖现有应用程序。而是会静默创建一个名为 /Applications/Test.localized 的新目录,并将实际的应用程序安装到该目录中。

博客解释说:“问题在于,当我们安装一个应用程序时,它期望安装在最终位置……但如果存在其他具有不同 bundle ID 的文件,这些文件不会被删除,应用程序将被放置在 .localized 目录中。”

这种重定向造成了严重的路径错误。安装程序认为它已将文件放置在 /Applications/Test.app 目录下,但实际文件位于 /Applications/Test.localized/Test.app 目录下。与此同时,攻击者的伪造应用程序仍然位于预期的路径中。

该漏洞利用方法简单但有效,攻击者只需诱骗用户(或 MDM 解决方案)运行目标应用程序的安装程序即可:

  1. 诱饵:攻击者在 /Applications 目录中放置一个伪造的 Test.app,该程序具有随机的 bundle ID 和伪装成辅助工具的恶意二进制文件。
  2. 切换过程:用户安装了合法的 Test.app。macOS 检测到冲突,并将真正的应用程序安装到 /Applications/Test.localized/ 中。
  3. 触发条件:合法的安装程序注册了一个 LaunchDaemon(后台服务),指向它认为应用程序所在的位置:/Applications/Test.app。
  4. Root权限被攻破:系统的launchd服务以root权限执行该路径下的二进制文件。由于攻击者控制了该路径,他们的代码可以以完整的系统权限运行。

“既然我们掌握了二进制文件,我们就能获得root权限并执行代码,”菲茨尔总结道。这位安全研究人员已在此处公开了漏洞利用代码。

Fitzl 认为,虽然这个问题根源于 macOS 的行为,但最终会影响到第三方供应商,他们“理所当然地期望能够正确安装,而无需进行额外的验证”。

在苹果公司推出能够阻止这种目录重定向或更严格地验证安装路径的全面修复方案之前,安装程序仍然容易受到这种隐蔽形式的劫持。

参考链接:

https://theevilbit.github.io/posts/localized/

https://gist.github.com/theevilbit/5994185969e6e36dffc740c4796ea259


查看原文:《macOS LPE漏洞再次出现:.localized目录被利用劫持安装程序并获取root权限》

评论:0   参与:  2