Facebook|OpenSSL出现严重漏洞!可被用于改变应用数据

Facebook|OpenSSL出现严重漏洞!可被用于改变应用数据

出品|开源中国文|Travis
【Facebook|OpenSSL出现严重漏洞!可被用于改变应用数据】本周正式推出了 OpenSSL 1.1.1l , 该版本修补了一个高严重性漏洞 , 该漏洞能够让攻击者改变应用程序的行为或导致应用程序崩溃 。

该漏洞的 CVE ID 为 被描述为一个与 SM2 解密有关的缓冲区溢出漏洞 。
为了解密 SM2 加密的数据 , 应用程序通常会调用 API 函数 EVP_PKEY_decrypt() 。 一般情况下 , 一个应用程序将调用这个函数两次 。 第一次在进入时 , \"out\" 参数可以是 NULL , 而在退出时 , \"outlen\" 参数填充了为容纳解密明文所需的缓冲区大小 。 然后 , 应用程序可以分配一个足够大的缓冲区 , 并再次调用 EVP_PKEY_decrypt() , 但这次为 \"out\" 参数传递一个非 NULL 的值 。
SM2 解密代码实现中的这个漏洞意味着第一次调用 EVP_PKEY_decrypt() 并计算出的容纳明文所需的缓冲区大小 , 可能要小于第二次调用时实际所需的大小 。 因此当应用程序第二次调用 E VP_PKEY_decrypt() 时 , 就可能导致缓冲区溢出 。
恶意攻击者如果能够向应用程序提供 SM2 内容进行解密 , 就能导致攻击者所选择的数据溢出缓冲区 , 最多可溢出 62 个字节 , 从而改变缓冲区后其他数据的内容 。 进一步改变应用程序行为或导致应用程序崩溃 。
OpenSSL Project 的 Matt Caswell 解释说:\"应用程序可能在内存中保存有任何一种数据(如财务数据、凭证等) , 如果攻击者能够改变它 , 那引起的后果不堪设想\" 。 安全研究人员 John Ouyang 表示 , 这个安全漏洞影响 1.1.1 版本之前的 OpenSSL 。
除了上述这个高严重性漏洞以外 , OpenSSL 还报告了一个 CVE ID 为 CVE-2021-3712 的中等程度漏洞 , 该漏洞可以被利用进行拒绝服务(DoS)攻击 。 这个问题也已经随着 1.1.1l 版本的发布得到了修复 。
截止到目前 , 今天已发现了五个与 OpenSSL 相关的漏洞 , 其中有两个被评为高严重性的漏洞 。 而在 2020 全年 , OpenSSL 只发现了三个漏洞 。