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

2021-12-11 14:21:45

摘要:为了解密 SM2 加密的数据,应用程序通常会调用 API 函数 EVP_PKEY_decrypt()。一般情况下,一个应用程序将调用这个函数两次。第一次在进入时,"out" 参数可以是 NULL,而在退出时,"outlen" 参数填充了为容纳解密明文所需的缓冲区大小。然后,应用程序可以分配一个足够大的缓冲区

  该漏洞的 CVE ID 为 CVE-2021-3711,被描述为一个与 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 只发现了三个漏洞。

  责任编辑:张华

_________________________________________________________________________________

推荐栏目:服务器租用 高防服务器 服务器托管 大带宽机柜 香港服务器

      跨数据中心专线 数据中心 增值服务 解决方案 主机租用 关键词检索

    内容有部分是原创文章,如转载请注明出处!

微信联系

电话
客服
地图
机房