Swift 存储库中发现的漏洞暴露了数百万个 iPhone 应用程序

微信扫一扫,分享到朋友圈

Swift 存储库中发现的漏洞暴露了数百万个 iPhone 应用程序

开源 Swift 和 Objective-C 代码库 CocoaPods 曾存在多个漏洞,导致数百万 iOS 和 macOS 应用程序在长达十年的时间里暴露在潜在攻击之下,但现在它已经打上了补丁。

尽管 CocoaPods 资源库成为潜在攻击目标的时间如此之长、应用程序如此之多,但 iOS 或 macOS 应用程序中并没有已知的漏洞。有关漏洞已于 10 月份得到修补,现在又在 EVA Information Security 的一份报告中被曝光。

Ars Technica 对该报告进行了详细解读,解释了出错的原因以及如何利用这些漏洞。如果被坏人利用,这些问题可能会导致严重的问题,而且这些问题有可能在无人知晓的情况下被利用。

Swift 存储库中发现的漏洞暴露了数百万个 iPhone 应用程序插图

CocoaPods 漏洞

CocoaPods 是 Swift 和 Objective-C 软件包的存储库,它存在三个关键问题。它们都与开发人员如何登录以管理他们所谓的 pod 有关,pod 是开发人员可以包含在他们的应用程序中并远程更新的代码包。

pod 管理员登录时,需要输入与 pod 关联的电子邮件地址。系统会发送一封带有验证链接的电子邮件,直接将他们带入已通过验证的账户页面。

操纵该链接可让恶意行为者将其指向自己控制的服务器(CVE-2024-38367)、入侵并控制废弃的 pod(CVE-2024-38368)或在主干服务器上执行代码(CVE-2024-38366)。其结果将导致恶意行为者能够影响可能在数百万个利用 CocoaPods 的 iOS 和 macOS 应用程序中使用的 pod。

从理论上讲,这种方法的原理是,坏人可以操纵 pod,使其在每个应用程序中自动更新,从而执行给它下达的任何新指令。如果 pod 可以访问敏感的用户信息,如密码或信用卡数据,那么这些信息就会落入坏人之手。

CocoaPods 维护者 Orta Therox 解释说:"能够在服务器上执行任意shell命令使攻击者有能力读取我们的环境变量,这些变量可用于写入CocoaPods/Specs repo和读取主干数据库。能够诱骗用户点击链接进入第三方网站,就可以窃取他们的会话密钥。我不能保证这两种情况都不会发生,我宁可保险一点。"

在 10 月份之前使用 CocoaPods 的开发人员可以采取一些措施来确保自己免受攻击。

  • 与所有 CocoaPods 开发者同步 podfile.lock 文件,以确保每个人都使用相同版本的软件包。这将确保在提交新的、可能有害的更新时,开发人员不会自动更新到该版本。
  • 如果您使用的 Pod 是内部开发的,仅托管在 CocoaPods 中进行大规模分发,开发人员应针对从 CocoaPods trunk 服务器下载的 Pod 执行 CRC(校验和)验证,以确保其与内部开发的 Pod 相同(如有可能)。
  • 对应用程序中使用的任何第三方代码进行彻底的安全审查。
  • 审查 CocoaPods 依赖关系,并验证您没有使用孤儿 Pod。
  • 确保您使用的第三方依赖项得到了积极维护且所有权明确。
  • 定期执行安全代码扫描,以检测所有外部库(尤其是 CocoaPods)上的秘密和恶意代码。
  • 对使用非常广泛的依赖库要保持警惕,因为这些依赖库可能会成为潜在攻击者更容易利用的目标。CocoaPods 只是一个开始。

您需要做什么

长话短说,您可能没事。没有任何证据表明这些漏洞被利用过。当然,没有证据并不意味着没有任何证据,所以这并不是完全的胜利。

Swift 存储库中发现的漏洞暴露了数百万个 iPhone 应用程序插图1

但是,如果 pod 被篡改并用于收集敏感数据或以其他方式感染机器,那么显然不会有人注意到这一点。作为用户,你唯一能做的就是确保自己使用的是最新的可信应用程序,并监控自己的账户是否有异常活动。

该问题已被修补,旧的会话密钥也已被清除。因此,今后与这些漏洞相关的 CocoaPods 问题应该不会再发生了。

请及时更新您的设备和应用程序,以确保您始终使用最新的补丁和漏洞修复程序。

上一篇

乔尼-艾维(Jony Ive)每天仍会想起乔布斯

下一篇

《艾尔登法环》1.12.3 补丁发布:带来更多平衡调整和错误修复

你也可能喜欢

评论已经被关闭。

插入图片

排行榜

返回顶部