Swift ASN.1解析器漏洞分析:恶意BER/DER数据可导致崩溃

本文详细分析了CVE-2025-0343漏洞,该漏洞存在于Swift ASN.1库中。当解析特定构造的BER/DER数据时,会导致库崩溃,可能被用作拒绝服务攻击向量,特别是在处理来自不可信源的TLS证书等场景下。

CVE-2025-0343: Swift ASN.1解析恶意构造的BER/DER数据时可能崩溃

漏洞详情

: swift (github.com/apple/swift-asn1)

受影响版本: <= 1.3.0

已修复版本: 1.3.1

漏洞描述

Swift ASN.1库在解析某些BER/DER构造时可能导致崩溃。此崩溃是由于ASN.1库本身的混淆引起的,该库假设某些对象只能以构造形式或原始形式提供,如果未满足此约束,将触发preconditionFailure

重要的是,这些约束在DER中确实必须为真,但早期节点解析器并未强制执行此正确性,因此在解码过程中依赖该假设是不正确的,而这正是该库所做的。

当解析任何DER/BER格式对象时,都可能触发这些崩溃。这里不存在内存安全问题:崩溃是Swift运行时的优雅崩溃。其影响是,在解析来自未知来源(例如解析TLS证书时)的BER/DER数据时,可用作拒绝服务攻击向量。

非常感谢 @baarde 报告此问题并提供修复。

参考资料

严重性

低严重性

EPSS 分数

0.172% (第39百分位)

此分数估计了此漏洞在未来30天内被利用的概率。数据由FIRST提供。

弱点

弱点: CWE-228 - 对语法无效结构的处理不当

该产品未处理或错误处理未按照相关规范语法格式正确的输入。在MITRE上了解更多信息。

标识符

CVE ID: CVE-2025-0343

GHSA ID: GHSA-w8xv-rwgf-4fwh

源代码: apple/swift-asn1

致谢

报告者: baarde

本公告已编辑。参见历史记录。

有什么想贡献的吗?为此漏洞提出改进建议。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计