CVE-2025-10751CVE-2025-10751是MacForge 1.2.0 Beta 1版本中存在的一个高危本地权限提升漏洞。该漏洞源于MacForge安装了一个不安全的XPC(跨进程通信)服务,该服务未能正确验证客户端的身份和权限,允许本地任意未授权用户通过与该XPC服务进行通信来执行特权操作,最终将权限提升至root级别。
MacForge是macOS平台上一款用于安装和管理插件、主题及系统扩展的工具软件,其运行的XPC服务通常需要以高权限(如root)执行以完成系统级别的修改操作。然而,该漏洞使得任何本地低权限用户均可利用该服务接口执行任意命令或修改敏感系统配置,从而完全控制系统。
该漏洞由Fluid Attacks安全团队发现并报告,CVSS 3.1评分为7.8,属于高危级别。其攻击向量为本地(AV:L),攻击者只需拥有普通用户权限(PR:L)即可在无需用户交互(UI:N)的情况下完成利用,对系统的机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。该漏洞严重威胁macOS系统的安全边界,特别是在多用户环境或共享工作站场景下,可能导致普通用户完全控制系统。
MacForge的XPC服务实现存在严重的安全缺陷。XPC(Cross-Process Communication)是Apple提供的进程间通信机制,常用于特权进程与普通进程之间的安全通信。安全的XPC服务应使用适当的验证机制(如auditToken验证、entitlement检查等)来确保只有经过授权的客户端才能调用其接口。
在MacForge 1.2.0 Beta 1中,该XPC服务缺少以下关键安全措施:
1. 未对客户端进程的签名(code signing)进行验证;
2. 未检查客户端的entitlement(权限声明);
3. 未使用SMJobBless等安全的服务注册机制;
4. 未对auditToken进行身份验证。
攻击原理:攻击者作为本地普通用户,可以编写一个恶意的Objective-C/Swift程序,利用NSXPCConnection连接到MacForge的XPC服务。由于服务未验证调用者身份,攻击者可以直接调用服务暴露的高权限方法(如以root身份执行shell命令、修改系统文件等),从而实现从普通用户到root的权限提升。
利用方式:攻击者通过创建NSXPCConnection对象连接到目标服务的Mach端口名称,然后构造符合服务接口定义的远程过程调用(RPC)消息,调用特权方法执行任意操作。整个攻击过程无需用户交互,可在后台静默完成。