300 万个 iOS 和 macOS 应用程序遭受强大的供应链攻击

奥里希·劳森

十年来未被发现的漏洞导致数千个 macOS 和 iOS 应用程序容易受到供应链攻击。研究人员周一表示,黑客可能添加了恶意代码,危及数百万甚至数十亿安装这些应用程序的用户的安全。

这些漏洞于去年 10 月得到修复,位于用于管理 CocoaPods,这是一个开源 Swift 和 Objective-C 项目的存储库,大约有 300 万个 macOS 和 iOS 应用程序依赖该项目。当开发人员对其某个“pod”(CocoaPods 术语,指单个代码包)进行更改时,依赖应用程序通常会通过应用程序更新自动合并这些更改,通常不需要最终用户进行交互。

代码注入漏洞

“许多应用程序可以访问用户最敏感的信息:信用卡详细信息、医疗记录、私人资料等。” 写道 EVA Information Security 公司的研究人员发现,该漏洞就是他们发现的。“在这些应用程序中注入代码可以让攻击者访问这些信息,用于几乎任何可以想象到的恶意目的——勒索软件、欺诈、敲诈、企业间谍活动……在此过程中,它可能使公司面临重大的法律责任和声誉风险。”

EVA 发现的三个漏洞源自一种不安全的验证电子邮件机制,该机制用于对单个 pod 的开发人员进行身份验证。开发人员输入与其 pod 关联的电子邮件地址。主干服务器通过向该地址发送链接来做出响应。当有人点击该链接时,他们便获得了该帐户的访问权限。

在一种情况下,攻击者可以操纵链接中的 URL,使其指向攻击者控制的服务器。该服务器接受了欺骗性的 祥丰华,用于识别 HTTP 请求中指定的目标主机的 HTTP 标头。EVA 研究人员发现,他们可以使用伪造的 XFH 来构建他们选择的 URL。

正常情况下,电子邮件会包含发布到 CocoaPods.org 服务器的有效链接,例如:

有效的验证电子邮件是什么样的。

放大 / 有效的验证电子邮件是什么样的。

EVA信息安全

研究人员可以更改 URL 以指向他们自己的服务器:

电子邮件被修改后进行验证。

放大 / 操作后的电子邮件验证。

EVA信息安全

该漏洞被追踪为 CVE-2024-38367,位于主干服务器源代码的 session_controller 类中,该类处理会话验证 URL。该类使用 session_controller.rb 机制,该机制优先考虑 XFH 而不是原始主机标头。研究人员的漏洞利用代码为:

POST /api/v1/sessions HTTP/1.1 主机:trunk.cococapods.org 内容类型:application/json; charset=utf-8 接受:application/json; charset=utf-8 用户代理:CocoaPods/1.12.1 接受编码:gzip,deflate X-Forwarded-Host:research.evasec.io 内容长度:78 { “email”:“[email protected]”, “name”:“EVAResearch”, “description”:null }

另一个漏洞 CVE-2024-38368 允许攻击者控制已被开发人员放弃但仍被应用程序使用的 pod。允许开发人员回收其 pod 的编程接口在首次实施近 10 年后仍然处于活动状态。研究人员发现,任何找到孤立 pod 接口的人都可以激活它以获得对它的控制权,而无需提供所有权证明。

一个简单的 卷曲 包含 pod 名称的请求就是所需的全部内容:

# 更改目标孤立 pod 所有权的 Curl 请求 curl -X 'POST' -H 'Host: trunk.cocoapods.org' -H 'Content-Type: application/x-www-form-urlencoded' –data-binary 'owner[name]=EVA&[email protected]' –data-binary 'pods[]=[TARGET_UNCLAIMED_POD]&按钮=发送' '

第三个漏洞 CVE-2024-38366 允许攻击者在主干服务器上执行代码。主干服务器依赖于 RFC822 1982 年正式确立,用于验证注册开发者电子邮件地址的唯一性,并检查其是否遵循正确的格式。该过程的一部分涉及检查 MX 记录 对于电子邮件地址域,由 RFC822 实现。

1719878903
2024-07-01 23:43:41
#万个 #iOS #和 #macOS #应用程序遭受强大的供应链攻击

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​