CVE-2025-64723Arduino IDE是一款开源的集成开发环境,用于编写和上传程序到Arduino开发板。该漏洞影响macOS平台的Arduino IDE 2.3.7之前版本。由于Arduino IDE在macOS上配置了过度宽松的安全授权(entitlements),导致可以绕过macOS的Hardened Runtime(强化运行时)安全保护机制。Hardened Runtime是苹果在macOS Catalina 10.15.4引入的安全特性,旨在防止恶意代码注入和运行时操纵。当Hardened Runtime保护被绕过后,攻击者可以将恶意动态库(Dylib)注入到Arduino IDE进程空间中,从而继承该应用的所有TCC(Transparency, Consent, and Control)权限。这意味着攻击者可以访问用户授予Arduino IDE的所有敏感系统权限,包括但不限于摄像头、麦克风、屏幕录制、文件访问等,从而造成严重的隐私泄露和系统安全风险。
该漏洞的核心问题在于Arduino IDE的entitlements.plist配置文件包含了过度宽松的授权设置。在macOS系统中,Hardened Runtime通过检查应用签名和entitlements来限制代码注入攻击。正常情况下,未授权的应用无法向其他应用注入动态库。然而,Arduino IDE的entitlements配置允许了动态库加载操作,使得攻击者可以利用DYLD_INSERT_LIBRARIES环境变量或进程注入技术,将恶意.dylib文件注入到Arduino IDE的运行进程中。一旦恶意代码成功注入,它将以与Arduino IDE相同的权限级别运行,从而可以访问该应用已获取的所有TCC权限。这种攻击属于本地攻击向量,攻击者需要具备目标系统的低权限访问能力。由于Arduino IDE常被用于处理各种硬件项目和第三方库文件,攻击者可能通过诱骗用户打开恶意项目文件或利用供应链攻击的方式传播恶意动态库。修复方案在2.3.7版本中调整了entitlements配置,严格限制动态库加载行为。