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 报告此问题并提供修复方案。
参考
- GHSA-w8xv-rwgf-4fwh
- apple/swift-asn1@ae33e59
- https://nvd.nist.gov/vuln/detail/CVE-2025-0343
严重程度
低
EPSS分数 0.172% (第39百分位)
弱点
- 弱点 CWE-228
- 不当处理语法无效结构 该产品没有处理或错误地处理了不符合相关规范语法格式的输入。在MITRE上了解更多信息。
CVE ID CVE-2025-0343
GHSA ID GHSA-w8xv-rwgf-4fwh
源代码 apple/swift-asn1
致谢 baarde (报告者)