您所在的位置: 首页 >
安全研究 >
安全通告 >
【漏洞通告】OpenSSL缓冲区溢出漏洞
【漏洞通告】OpenSSL缓冲区溢出漏洞 (CVE-2021-3711)
0x00 漏洞概述
0x01 漏洞详情
2021年8月24日,OpenSSL 项目发布安全公告,修复了OpenSSL中的一个缓冲区溢出漏洞(CVE-2021-3711)和一个拒绝服务漏洞(CVE-2021-3712,中危),攻击者可以利用这些漏洞更改应用程序的行为或使应用程序崩溃,导致拒绝服务或敏感信息泄露。
OpenSSL缓冲区溢出漏洞(CVE-2021-3711)
SM2解密代码中存在安全问题,第一次调用EVP_PKEY_decrypt() 返回的明文所需的缓冲区大小的计算可能小于第二次调用所需的实际大小。当应用程序第二次使用较小的缓冲区调用 EVP_PKEY_decrypt() 时,可能会导致缓冲区溢出。恶意攻击者如果能够向应用程序提供用于解密的SM2内容,将导致攻击者选择的数据溢出缓冲区最多 62 个字节,改变缓冲区后的其它数据内容,这将改变应用程序的行为或导致应用程序崩溃,但缓冲区的位置取决于应用程序,通常是堆分配的。
影响范围
OpenSSL1.1.1-1.1.1k
OpenSSL拒绝服务漏洞(CVE-2021-3712)
如果应用程序要求打印一个ASN.1结构,而该ASN.1结构包含由应用程序直接构建的ASN1_STRING,而没有以NUL结束 "data "字段,那么就会发生读取缓冲区溢出,同样的问题也可能发生在证书的名称约束处理过程中。如果恶意攻击者可以使一个应用程序直接构建一个ASN1_STRING,然后通过受影响的OpenSSL函数之一进行处理,则能够触发此漏洞,并造成拒绝服务或导致密钥或敏感信息泄露。
影响范围
OpenSSL1.1.1-1.1.1k
OpenSSL1.0.2-1.0.2y
0x02 处置建议
目前这些漏洞已经修复,建议及时升级更新。
针对CVE-2021-3711,升级到OpenSSL1.1.1l或更高版本。
针对CVE-2021-3712,升级到OpenSSL 1.1.1j、OpenSSL 1.0.2za或更高版本。
下载链接:
https://www.openssl.org/source/
补丁链接:
CVE-2021-3711(OpenSSL 1.1.1l):
https://github.com/openssl/openssl/commit/59f5e75f3bced8fc0e130d72a3f582cf7b480b46
CVE-2021-3712(OpenSSL 1.1.1j):
https://github.com/openssl/openssl/commit/94d23fcff9b2a7a8368dfe52214d5c2569882c11
CVE-2021-3712(OpenSSL 1.0.2za):
https://github.com/openssl/openssl/commit/ccb0a11145ee72b042d10593a64eaf9e8a55ec12
0x03 参考链接
https://www.openssl.org/news/vulnerabilities.html#CVE-2021-3711
https://securityaffairs.co/wordpress/121426/hacking/cve-2021-3711-openssl-flaws.html?
https://nvd.nist.gov/vuln/detail/CVE-2021-3711
0x04 更新版本
0x05 文档附录
CNVD:www.cnvd.org.cn
CNNVD:www.cnnvd.org.cn
CVE:cve.mitre.org
NVD:nvd.nist.gov
CVSS:www.first.org
来源:维他命安全