总结
本文详细描述了一个我在去年一月向联想PSIRT报告的本地权限提升漏洞。该问题影响许多游戏笔记本电脑上预装的音频增强软件,包括联想Legion、IdeaPad Gaming、MSI、Thunderobot等。联想PSIRT将该漏洞追踪为 LEN-18785 并分配了 CVE-2025-68921,允许低权限用户直接将权限提升到 NT AUTHORITY\SYSTEM。
技术细节
脆弱组件
Nahimic 是由 A-Volute 开发的音频增强套件,它由 Nahimic UWP 应用程序组成,该应用程序是通过 Microsoft Store 提供的用户面向应用,NahimicService.exe 是一个 Windows 服务,以 NT AUTHORITY\SYSTEM 运行,以及 Nahimic APO Driver 用于音频处理。
漏洞类别
这个漏洞属于任意文件删除导致权限提升的类别,这是一个有详细文档记录的攻击模式。核心问题是,一个以SYSTEM运行的特权服务在目录中执行文件操作,该目录可被标准用户写入,但未验证是否操作的是目标文件或遵循符号链接/连接。
攻击者可以通过在服务完成操作之前将目标替换为指向其他位置的符号链接/连接来利用这一点。
此类漏洞已被广泛记录在Zero Day Initiative,Google Project Zero请参见以下参考文献。
漏洞分析
根本原因
当用户与 Remove Optimization 或 Optimize My Device 按钮在 Nahimic UWP 应用程序中互动时,NahimicService.exe 删除了位于 render.txt 的 C:\ProgramData\Nahimic\render.txt 文件。

该漏洞存在于 C:\ProgramData\Nahimic\ 继承父权限,允许标准用户创建、修改和删除文件和文件夹。

while NahimicService.exe 运行为 NT AUTHORITY\SYSTEM 并以完全的权限执行文件删除。该服务在跟踪符号链接或符号链接时既不模拟调用用户也不进行任何验证。

攻击向量
向量1:任意文件删除
攻击者可以删除系统上的任何文件,无论权限如何,以利用这一点,打开Nahimic应用程序并删除C:\ProgramData\Nahimic\目录。然后将其重新创建为指向\RPC Control\的符号链接在对象命名空间中,创建一个符号链接在\RPC Control\render.txt,指向任何目标文件,例如受保护的系统DLL。当你点击Remove Optimization或Optimize My Device按钮时,NahimicService.exe会沿着符号链接链,并以SYSTEM权限删除目标文件。

向量2:本地权限提升
任意文件删除可以利用Windows Instller回滚机制被武器化为完整的SYSTEM权限提升。
攻击通过重新创建 C:\ProgramData\Nahimic\ 为一个指向 \RPC Control\ 的 junction。然后在 \RPC Control\render.txt 创建一个指向 C:\Config.Msi::$INDEX_ALLOCATION 的符号链接。点击 Remove Optimization 或 Optimize My Device 会导致 NahimicService.exe 删除 C:\Config.Msi 目录。然后我们用一个弱的 ACL 重新创建 C:\Config.Msi 并在里面放一个假的回滚脚本。当我们通过失败的 MSI 安装触发回滚时,Windows Installer 用 SYSTEM 权限执行我们的假回滚脚本,导致命令提示符以 NT AUTHORITY\SYSTEM 运行。

我之前在我的文档中详细记录了这种技术 从拒绝服务到权限提升,在那里我利用了IObit Malware Fighter中的任意文件夹删除漏洞并将其转换为权限提升;然而,那是一个驱动程序,而不是服务。
无需用户互动触发?
是的,我们可以通过发送一个 RPC 到 NahimicService.exe 来触发这个漏洞而无需UWP交互,但我太懒了,没有添加它 ?。

补丁分析
尝试 1:随机文件名(2025年4月)
SteelSeries 第一种缓解措施用随机生成的名称替换了可预测的 render_txt_copy.txt 临时文件名。
失败的原因: 这个漏洞并不涉及预测文件名。该服务仍然以SYSTEM权限删除render.txt,并且这个操作仍然容易受到symlink重定向的攻击。

尝试 2: incomplete FILE_FLAG_OPEN_REPARSE_POINT(2025 年 7 月)
第二次尝试实现了FILE_FLAG_OPEN_REPARSE_POINT标志,该标志在文件操作期间防止跟随符号链接。
失败的原因: 该服务仍然在没有标志的情况下执行文件操作 render.txt,留下了可利用的漏洞。

我的建议解决方案:ProcessRedirectionTrustPolicy(2025年8月)
在第二次补丁绕过之后,我建议实现SetProcessMitigationPolicy与ProcessRedirectionTrustPolicy:

此政策导致Windows阻止非管理员用户创建的以下符号链接和软链接,从而有效防止了整个类别的攻击。然而,实现这一政策需要对SDK进行重大更改,这将使修复工作推迟到2025年第四季度。

最终修复:修正 FILE_FLAG_OPEN_REPARSE_POINT 实现(2025年11月)
最终的修复正确地实现了FILE_FLAG_OPEN_REPARSE_POINT 在所有执行文件操作的代码路径中,针对易受攻击的目录。这迫使文件系统本身打开文件而不是遵循重解析点,从而在不需要更广泛的SDK更改的情况下有效缓解了漏洞。

补丁于2025年12月29日正式发布。

证明概念
视频
结论
这个漏洞突显了文件系统错误的影响。在向联想PSIRT报告后,他们与SteelSeries(Nahimic开发者)协调解决了这个问题。最初,解释该漏洞的全部影响并证明早期的补丁尝试是不足够的花费了一些时间,但最终团队理解了严重性并实施了适当的修复。
我想感谢联想 PSIRT 和 SteelSeries 团队在整个近一年的披露过程中与我合作。
更广阔的视野
参考文献
https://github.com/googleprojectzero/symboliclink-testing-tools
https://www.hackandhide.com/from-dos-to-privilege-escalation
本文链接:https://www.kinber.cn/post/6394.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
