Ruby是一种功能强大的面向对象的脚本语言。 Ruby没有正确地验证X.509证书,在ext/openssl/ossl_ocsp.c文件中以如下方式使用openssl函数: result = OCSP_basic_verify(bs, x509s, x509st, flg); sk_X509_pop_free(x509s, X509_free); if(!result) rb_warn("%s", ERR_error_string(ERR_peek_error(), NULL)); return result ? Qtrue : Qfalse; OCSP_basic_verify()在出错的情况下可能返回0和-1,因此这个函数可能错误的返回信息。成功利用这个漏洞的攻击者可以导致将已撤销的x.509证书处理为有效,这有助于执行网络钓鱼或站点欺骗攻击。
Ruby是一种功能强大的面向对象的脚本语言。 Ruby没有正确地验证X.509证书,在ext/openssl/ossl_ocsp.c文件中以如下方式使用openssl函数: result = OCSP_basic_verify(bs, x509s, x509st, flg); sk_X509_pop_free(x509s, X509_free); if(!result) rb_warn("%s", ERR_error_string(ERR_peek_error(), NULL)); return result ? Qtrue : Qfalse; OCSP_basic_verify()在出错的情况下可能返回0和-1,因此这个函数可能错误的返回信息。成功利用这个漏洞的攻击者可以导致将已撤销的x.509证书处理为有效,这有助于执行网络钓鱼或站点欺骗攻击。