苹果「篡改」cURL行为引起开发者不满 这种篡改实际弱化了安全性
2024-3-11 11:11:49 Author: www.landiannews.com(查看原文) 阅读量:15 收藏

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 或任何内容,于是现在问题陷入了僵局。

版权声明:感谢您的阅读,本文由山外的鸭子哥转载或编译自Haxx.se,如需转载本文请联系原作者获取授权,谢谢理解。


文章来源: https://www.landiannews.com/archives/102783.html
如有侵权请联系:admin#unsafe.sh