CVE-2025-57443CVE-2025-57443是FrostWire 6.14.0-build-326版本在macOS平台上存在的一个本地权限提升漏洞。该漏洞源于FrostWire应用程序在打包时配置了过于宽松的entitlements(权限声明),其中包括allow-dyld-environment-variables(允许DYLD环境变量)和disable-library-validation(禁用库验证)这两个高危权限。这两个entitlements的组合使得任何本地未授权攻击者都可以通过设置DYLD_INSERT_LIBRARIES环境变量,将恶意的动态链接库(DLL/dylib)注入到FrostWire进程中执行。由于FrostWire本身是一个经过TCC(Transparency, Consent, and Control)框架认证的应用程序,拥有访问用户受保护目录(如Documents、Downloads、Desktop等)的权限,因此通过代码注入实现的权限提升允许攻击者访问任意TCC已批准的目录,读取或篡改用户敏感文件。该漏洞的CVSS评分为5.1,属于中等严重等级。虽然攻击需要本地访问权限且对机密性和完整性的影响为低,但由于利用门槛极低(无需认证、无需用户交互),仍然构成了实际的安全威胁。该漏洞已于2025年10月2日被公开披露,漏洞发现者通过MITRE提交了相关报告。
该漏洞的核心技术原理在于macOS应用程序的entitlements配置不当。在macOS沙盒和安全机制中,entitlements用于声明应用程序所拥有的特殊权限。FrostWire 6.14.0-build-326版本在其应用的Info.plist或代码签名中声明了两个危险的entitlements:
1. allow-dyld-environment-variables:该entitlement允许应用程序读取DYLD_*系列环境变量(如DYLD_INSERT_LIBRARIES、DYLD_LIBRARY_PATH等)。在正常情况下,macOS的硬化运行时(Hardened Runtime)会阻止这些环境变量被加载到已签名的应用程序中,以防止代码注入攻击。
2. disable-library-validation:该entitlement禁用了库验证机制,允许应用程序加载未经过苹果公证(notarization)或代码签名的动态库。
攻击利用方式:攻击者在本地终端中设置DYLD_INSERT_LIBRARIES环境变量指向一个恶意的dylib文件,然后启动FrostWire应用程序。由于上述两个entitlements的存在,恶意dylib将被加载到FrostWire进程空间中执行。由于FrostWire进程继承了其TCC权限(如完全磁盘访问、用户文件访问等),注入的恶意代码将以FrostWire的权限级别运行,从而能够访问TCC已批准的任何目录,实现权限提升。