OpenSSL安全通报– EDIPARTYNAME空指针取消引用

2020-12-09 19:33:11

OpenSSL安全通报[2020年12月8日] =========================================== == EDIPARTYNAME空指针取消引用(CVE-2020-1971)===================================严重性:高X.509 GeneralName类型是用于表示不同类型名称的通用类型。这些名称类型之一称为EDIPartyName。 OpenSSL提供了GENERAL_NAME_cmp函数,该函数比较GENERAL_NAME的不同实例以查看它们是否相等。当两个GENERAL_NAME都包含一个EDIPARTYNAME时,此函数的行为不正确。 NULL指针取消引用和崩溃可能会导致可能的拒绝服务攻击.OpenSSL本身将GENERAL_NAME_cmp函数用于两个目的:1)比较可用CRL和嵌入在X509证书中的CRL分发点之间的CRL分发点名称2)何时验证时间戳记响应令牌签名者是否与时间戳记授权名匹配(通过API函数TS_RESP_verify_response和TS_RESP_verify_token公开)。如果攻击者可以控制两个比较的对象,则该攻击者可以触发崩溃。例如,如果攻击者可以诱使客户端或服务器针对恶意CRL检查恶意证书,则可能会发生这种情况。请注意,某些应用程序会基于证书中嵌入的URL自动下载CRL。该检查在验证证书和CRL的签名之前进行。 OpenSSL的s_server,s_client和verifytools支持" -crl_download"该选项可实现自动CRL下载,并且已证明可针对那些工具进行攻击。请注意,一个不相关的错误意味着受影响的OpenSSL版本无法解析EDIPARTYNAME的正确编码。但是,可以构造格式错误的EDIPARTYNAME,OpenSSL的解析器将接受该格式的EDIPARTYNAME,从而触发此攻击。此问题影响所有OpenSSL 1.1.1和1.0.2版本。其他OpenSSL版本不在支持范围内,尚未检查.OpenSSL 1.1.1用户应升级到1.1.1i.OpenSSL 1.0.2已不在支持范围内,不再接收公共更新。 OpenSSL 1.0.2的高级支持客户应升级到1.0.2x。其他用户应升级到OpenSSL 1.1.1i.David Benjamin(Google)在2020年11月9日向OpenSSL报告了此问题。初始分析由David Benjamin进行,Matt Caswell(OpenSSL)进行附加分析。该修补程序由Matt Caswell开发。注意==== OpenSSL 1.0.2已不再受支持,并且不再接收公共更新。扩展支持可用于高级支持客户:https://www.openssl.org/support/contracts.htmlOpenSSL 1.1.0不再受支持,不再接收任何类型的更新。此问题对OpenSSL 1.1.0的影响这些版本的用户应升级到OpenSSL 1.1.1。参考=========此安全公告的URL:https://www.openssl.org/news/secadv/20201208.txt :该通知的在线版本可能会随着时间的推移而更新,其中包含更多详细信息。有关OpenSSL严重性分类的详细信息,请参阅:https://www.openssl.org/policies/secpolicy.html