【漏洞通告】OpenSSL缓冲区溢出漏洞 (CVE-2021-3711)

发布时间 2021-08-25

0x00 漏洞概述

CVE     ID

CVE-2021-3711

时      间

2021-08-24

类      型

缓冲区溢出

等      级

高危

远程利用


影响范围


攻击复杂度


可用性


用户交互


所需权限


PoC/EXP


在野利用


 

0x01 漏洞详情

image.png

2021年8月24日,OpenSSL 项目发布安全公告,修复了OpenSSL中的一个缓冲区溢出漏洞(CVE-2021-3711)和一个拒绝服务漏洞(CVE-2021-3712,中危),攻击者可以利用这些漏洞更改应用程序的行为或使应用程序崩溃,导致拒绝服务或敏感信息泄露。

OpenSSL缓冲区溢出漏洞(CVE-2021-3711)

SM2解密代码中存在安全问题,第一次调用 EVP_PKEY_decrypt() 返回的明文所需的缓冲区大小的计算可能小于第二次调用所需的实际大小。当应用程序第二次使用较小的缓冲区调用 EVP_PKEY_decrypt() 时,可能会导致缓冲区溢出。恶意攻击者如果能够向应用程序提供用于解密的SM2内容,将导致攻击者选择的数据溢出缓冲区最多 62 个字节,改变缓冲区后的其它数据内容,这将改变应用程序的行为或导致应用程序崩溃,但缓冲区的位置取决于应用程序,通常是堆分配的。

影响范围

OpenSSL 1.1.1-1.1.1k

 

OpenSSL拒绝服务漏洞(CVE-2021-3712)

如果应用程序要求打印一个ASN.1结构,而该ASN.1结构包含由应用程序直接构建的ASN1_STRING,而没有以NUL结束 "data "字段,那么就会发生读取缓冲区溢出,同样的问题也可能发生在证书的名称约束处理过程中。如果恶意攻击者可以使一个应用程序直接构建一个ASN1_STRING,然后通过受影响的OpenSSL函数之一进行处理,则能够触发此漏洞,并造成拒绝服务或导致密钥或敏感信息泄露。

影响范围

OpenSSL 1.1.1-1.1.1k

OpenSSL 1.0.2-1.0.2y

 

0x02 处置建议

目前这些漏洞已经修复,建议及时升级更新。

针对CVE-2021-3711,升级到OpenSSL 1.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 更新版本

版本

日期

修改内容

V1.0

2021-08-25

首次发布

 

0x05 文档附录

CNVD:www.cnvd.org.cn

CNNVD:www.cnnvd.org.cn

CVE:cve.mitre.org

NVD:nvd.nist.gov

CVSS:www.first.org

 

0x06 关于我们

关注以下公众号,获取更多资讯:

image.png