| 的x GeneralName类型的泛型类型代表不同类型的名称。其中一个类型被称为EDIPartyName名称。OpenSSL GENERAL_NAME_cmp提供了一个功能比较不同实例GENERAL_NAME是否相等。这个函数当GENERAL_NAMEs包含一个EDIPARTYNAME行为错误。一个NULL指针和一个可能发生事故可能导致拒绝服务攻击。OpenSSL本身使用的GENERAL_NAME_cmp函数两个目的:1)比较CRL分发点名称之间的一个可用的CRL和CRL分发点嵌入在一个X509证书2)当验证时间戳的反应令牌签名者比赛时间戳机关名称(通过API函数TS_RESP_verify_response暴露和TS_RESP_verify_token)如果攻击者可以控制两项相比,攻击者可能引发事故。例如,如果攻击者可以欺骗一个客户机或服务器检查恶意对恶意CRL证书这可能发生。注意,一些应用程序自动下载利用基于URL嵌入在一个证书。这种检查发生前和CRL验证签名的证书。OpenSSL的s_server s_client和验证工具支持的“-crl_download”选项实现自动CRL下载和这种攻击已经证明对这些工具的工作。 Note that an unrelated bug means that affected versions of OpenSSL cannot parse or construct correct encodings of EDIPARTYNAME. However it is possible to construct a malformed EDIPARTYNAME that OpenSSL's parser will accept and hence trigger this attack. All OpenSSL 1.1.1 and 1.0.2 versions are affected by this issue. Other OpenSSL releases are out of support and have not been checked. Fixed in OpenSSL 1.1.1i (Affected 1.1.1-1.1.1h). Fixed in OpenSSL 1.0.2x (Affected 1.0.2-1.0.2w). |