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 (Swift)

受影响版本: <= 1.3.0
已修复版本: 1.3.1

漏洞描述

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

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

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

特别感谢@baarde报告此问题并提供修复。

参考信息

技术信息

严重程度: 低
EPSS评分: 0.155% (第37百分位)

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

产品未处理或错误处理未按照相关规范语法格式正确的输入。

CVE ID: CVE-2025-0343
GHSA ID: GHSA-w8xv-rwgf-4fwh

源代码: apple/swift-asn1

致谢: baarde (报告者)

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