OpenSSL国密爆出8.1分高危漏洞CVE-2021-3711

本文详细分析了OpenSSL 1.1.1版本中的高危漏洞CVE-2021-3711,该漏洞源于SM2解密过程中内存分配错误,可能导致内存越界写。OpenSSL已发布补丁修复。同时,腾讯自研的国密库因未使用相关代码,不受该漏洞影响。
摘要由CSDN通过智能技术生成

背景

OpenSSL是一个知名的开源安全套接字层密码库。全球成千上万的web服务器的网站加密技术使用OpenSSL。

网银、在线支付、电商网站、门户网站、电子邮件等互联网应用广泛使用OpenSSL实现数据的安全传输和安全存储。

历史上,OpenSSL多次出现安全漏洞。

2014年,OpenSSL爆出Heartbleed(心脏滴血)漏洞,网络出现了“致命内伤”。

心脏滴血称为互联网安全历史上最严重的漏洞之一,当时全球三分之二的网站可被该漏洞攻击。

心脏滴血漏洞的CVE编号是CVE-2014-0160,CVSS3.1打分7.5,属于严重漏洞。

业界使用CVE ID作为漏洞编号。CVE是通用漏洞披露(Common Vulnerabilities and Exposures)的英文缩写。

业界采用CVSS量化漏洞影响。CVSS是通用漏洞评分系统(Common Vulnerability Scoring System)的英文缩写。

CVSS得分最大为10,最小为0。得分7~10的漏洞通常认为严重,得分在4~6.9之间是中级漏洞,0~3.9是低级漏洞。

2021年8月24日,OpenSSL发布了OpenSSL 1.1.1l,该版本修复了一个高危漏洞:CVE-2021-3711。

根据

https://access.redhat.com/security/cve/cve-2021-3711

该漏洞的CVSS3.1打分8.1,属于严重漏洞。

该漏洞影响OpenSSL 1.1.1l之前的所有包含SM2商密算法版本。业界一些基于OpenSSL改造过的商用国密算法版本也可能受该漏洞影响。

本文结合OpenSSL公告、修复前后的OpenSSL代码和触发漏洞的sm2密文数据,分析CVE-2021-3711漏洞原理,并评估对腾讯自研国密算法库的影响。

漏洞分析

根据官网披露的信息细节https://www.openssl.org/news/secadv/20210824.txt

得出如下分析:

漏洞原因:SM2解密时分配了一块内存,解密后的结果可能大于该分配内存的容量,造成内存越界写。

以下是具体分析,使用CVE-2021-3711漏洞修复之前的OpenSSL 1.1.1代码。
1、OpenSSL EVP解密操作

OpenSSL EVP将常用的密码算法进行了封装,提供统一的密码学各种函数。

看示例图找规律,OpenSSL对密文的解密是什么样的操作?
示例1:crypto/evp/p_open.c

示例2:crypto/crmf/crmf_lib.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值