OpenSSL Project 这周宣布发布了 OpenSSL 1.1.1l,该版本修复了一个高严重后果漏洞,该漏洞可以让网络攻击更改应用程序的情形或造成应用程序奔溃。
该漏洞的 CVE ID 为 CVE-2021-3711,被表述为一个与 SM2 解密相关的跨站脚本攻击漏洞。
为了更好地解密 SM2 数据加密的数据信息,应用程序通常会调用 API 函数 EVP_PKEY_decrypt()。一般情形下,一个应用程序将调用这一函数2次。第一次在加入时,"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 只看到了三个漏洞。