

热门相依管理工具CocoaPods去年下旬修补漏洞,能够让攻击者取得Trunk服务器与基础设施的最高存取权限,尽管没有已遭攻击的证据,但发现漏洞的资安业者建议开发人员采取必要措施来保护其代码
以色列资安业者E.V.A Information Security本周披露,用于苹果平台的程序相依管理工具CocoaPods存在三大漏洞CVE-2024-38366、CVE-2024-38367与CVE-2024-38368,它们都与验证服务器Trunk有关,允许未经授权的用户认领孤儿Pod套件,破坏受害者的会话,甚至可取得Trunk服务器与基础设施的最高存取权限。不过,上述漏洞皆已于去年完成修补。
CocoaPods是个开源的应用程序相依性管理工具,目前有超过300万个行动程序用它来管理10万个函数库,广泛应用在苹果的Swift与Objective-C项目中。换句话说,只要是针对macOS、iOS、iPadOS或其它苹果平台所开发的程序采用CocoaPods,都可能受到波及。
根据E.V.A的说明,CocoaPods所使用的套件称为Pod,而用来描述套件规格的文件则是Podspec,文件中的元数据报含名称、版本、来源文件、相依性与其它数据,以将Pod正确地整合到iOS或macOS项目中,当开源社群贡献Podspec予CocoaPods时,作者需要注册一个帐户,用来存储与维护Pod及Podspec,亦有权上传或更新数据。
CocoaPods原本是利用这些作者的GitHub帐户来辨识他们,但在2014年5月迁移到新的Trunk服务器,作为CocoaPods的集中存储及发布平台,并支持电子邮件验证。
漏洞之一的CVE-2024-38368即与此次的迁移有关。CocoaPods要求Pod作者于Trunk服务器上重置身分以保留对内容的控制权,迄今却有1,866个Pod无人认领,Trunk替这些孤儿Pod建置了一个默认的所有人,且全都使用同样的[email protected]电子邮件帐户。另一方面,CocoaPods还保留了用来宣称Pod所有权的公共API端点,允许任何人不需经过验证来声明Pod的所有权。
因此,当有心人士取得孤儿Pod所有权之后,即能注入恶意程序并危害使用相关Pod的程序。
至于CVE-2024-38366则是当中最危险的漏洞,其CVSS风险评分高达10。此一漏洞允许黑客借由操纵电子邮件网域MX纪录验证以运行远程程序。它可能允许黑客取得Trunk服务器与基础设施的最高存取权限,进而于服务器上运行任何命令、存取或修改敏感数据,编辑服务器上的Podspec,以及强制重置所有会话等。
CVE-2024-38367漏洞出现在Trunk会话的验证步骤,可能允许黑客劫持会话,进而接管其帐户。
相关漏洞皆已于去年9月修补,尽管没有已遭攻击的证据,但E.V.A认为这并不代表它们没被利用过,建议开发人员应该采取必要措施来保护其代码,包括让podfile.lock文件与所有CocoaPods同步,确保CocoaPods上的Pod与内部Pod是相同的,避免使用孤儿Pod,定期运行安全扫描,以及小心被广泛使用的依赖项,因为它们通常也最受黑客青睐。