OpenSSL 3.0.1更新修复漏洞

OpenSSL 加密库 3.0.1 和 1.1.1m 的维护版本现已推出。 3.0.1 版本修复了该漏洞 (CVE-2021-4044),两个版本中均修复了大约十几个错误。

该漏洞存在于 SSL/TLS 客户端的实现中,是由于 libssl 库错误地处理 X509_verify_cert() 函数返回的负错误代码值所致,该函数调用该函数来验证服务器传递给客户端的证书。 当发生内部错误时,例如,如果无法为缓冲区分配内存,则会返回负代码。 如果返回此类错误,则对 I/O 函数(例如 SSL_connect() 和 SSL_do_handshake())的后续调用将返回失败和错误代码 SSL_ERROR_WANT_RETRY_VERIFY,仅当应用程序之前调用过 SSL_CTX_set_cert_verify_callback() 时才应返回该错误代码。

由于大多数应用程序不调用 SSL_CTX_set_cert_verify_callback(),因此 SSL_ERROR_WANT_RETRY_VERIFY 错误的发生可能会被误解并导致崩溃、循环或其他不正确的行为。 该问题与 OpenSSL 3.0 中的另一个错误结合起来最为危险,当 X509_verify_cert() 处理没有“主题备用名称”扩展但在使用限制中具有名称绑定的证书时,会导致内部错误。 在这种情况下,攻击可能会导致证书处理和 TLS 会话建立中出现与应用程序相关的异常。

来源: opennet.ru

添加评论