苹果「篡改」cURL行为引起开发者不满 这种篡改实际弱化了安全性 – 蓝点网

 人参与 | 时间:2025-04-05 08:33:51

cURL 开发者丹尼尔上周在博客中发布了一篇文章抨击苹果 “篡改” cURL 导致的苹果 “安全问题”,这个问题最初是篡改篡改 2023 年 12 月有用户提交的,跟踪 ID 为 12604。行为性蓝

丹尼尔针对该问题进行调查后发现这并不是引起 cURL 的问题,而是满种苹果在部署中进行了一些修改,为此丹尼尔发邮件给苹果,实际苹果安全团队还表示有意这么干的弱化,不需要 “修复”。安全

苹果「篡改」cURL行为引起开发者不满 这种篡改实际弱化了安全性

大概情况是点网这样的:

cURL 允许开发者使用参数 –cacert 来指定一组 CA 证书,如果 TLS 服务器无法对这组证书进行验证时,苹果那么应该失败并返回错误。篡改篡改

这种特殊行为早在 2000 年 12 月就已经添加到了 cURL 中,行为性蓝这让开发者可以只对特定的引起 CA 证书进行信任,而不是满种信任所有有效的 CA 证书,比如防止某些 CA 因为审核不严导致签发错误证书进行劫持。实际

在 macOS 中,开发者仍然可以使用这个参数,但苹果的处理方法是检查系统的 CA 存储库,也就是直接验证苹果在 macOS 中指定的那组 CA 证书,而不是开发者指定的一组 CA 证书。

因此当开发者使用一组进行编辑的特定 CA 证书时,正常情况下不包含在这组 CA 证书中的证书那应该失败,但如果这个 / 这些证书位于 macOS 存储库中,那么 cURL 不会返回失败。

所以这实际上是一个安全缺陷。

针对此问题丹尼尔在 2023 年 12 月 29 日向苹果安全团队报告,这不是一个大问题,但确实是个问题。

直到 2024 年 3 月 8 日苹果才回复邮件:

Apple 版本的 OpenSSL (LibreSSL) 有意使用内置系统信任存储作为默认信任源,由于可以使用内置系统存储成功验证服务器证书,因此我们认为不需要在我们的平台中解决。

对于这个说法丹尼尔并不同意,因为实际上这篡改了 cURL,这个未记录的功能使得 macOS 用户使用 cURL 时,CA 验证完全不可靠并且与 cURL 的文档不符,这是苹果在欺骗用户。

问题是这并不是 cURL 的问题,因此丹尼尔无法发布 CVE 或任何内容,于是现在问题陷入了僵局。

顶: 38679踩: 4