问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2024-09-28 06:17

我来回答

1个回答

热心网友 时间:2024-12-14 19:06

全球成千上万的web服务器依赖的 OpenSSL 安全套接字层密码库,以及广泛应用于网银、在线支付、电商网站、门户网站、电子邮件等互联网应用的数据安全传输和安全存储,均使用 OpenSSL 实现。历史上,OpenSSL 已多次出现安全漏洞。2021 年 8 月 24 日,OpenSSL 发布了修复高危漏洞的版本 OpenSLL 1.1.1l,该漏洞编号为 CVE-2021-3711,打分为 8.1,属于严重漏洞。此漏洞影响 OpenSSL 1.1.1l 及之前的所有包含 SM2 商密算法版本,部分基于 OpenSSL 改造的商用国密算法版本也可能受此影响。

本文结合 OpenSSL 官方公告、修复前后的 OpenSSL 代码以及触发漏洞的 sm2 密文数据,深入分析了 CVE-2021-3711 漏洞原理,并评估了对腾讯自研国密算法库的影响。漏洞原因在于 SM2 解密时分配的内存可能不足以容纳解密后的结果,导致内存越界写。

具体分析如下:OpenSSL EVP 解密操作涉及两次调用 EVP_PKEY_decrypt,第一次返回长度作为分配堆内存的大小,第二次将解密结果存入分配的内存中。对于 SM2 解密,EVP_PKEY_decrypt 中的 ctx->op.ciph.cipher->decrypt 实现为 pkey_sm2_decrypt 函数。第一次调用时,指针 out 为 NULL,返回的长度用于分配内存。sm2_plaintext_size 函数用于计算实际需要的内存大小,其返回值等于 msg_len 减去 overhead。在 sm2_plaintext_size 函数中,overhead 的设置涉及 SM2 算法和 SM2 密文格式的知识,存在逻辑漏洞。具体而言,overhead 的设置可能过小,导致分配的内存不足以容纳解密后的结果,从而引发内存越界写。

触发此漏洞的数据示例为一组 SM2 密文,其长度为 116 字节,解析后显示 XCoordinate 占 32 字节,YCoordinate 占 31 字节,满足 SM2 椭圆曲线方程。在解密过程中,out 指向的内存为 10 字节,而解密结果为 11 字节,因此发生内存越界写。

针对此漏洞,腾讯自研的 TencentSM 国密算法库不受影响。腾讯自研了符合国密 SM2、SM3 以及 SM4 算法标准的 TencentSM,并在多个业务中平稳运行。TencentSM 自研了 SM2 解密实现,未使用和参考 OpenSSL 对应的代码,因此不受此漏洞影响。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
便携式发电机十大名牌 冬天夜跑同时锻炼身体和意志的句子锦集 冬天的时候跑步可以达到46~60分钟 可是夏天了跑步25分钟左右就已经感觉... 孩子病毒性感冒咳嗽厉害怎么办 严重的病毒性感冒几天能好 宝宝六个月因为病毒性感冒而咳嗽有痰可每次咳嗽出来的痰他吐不出来怎 ... ios购买的app怎么退款 求助!书法高手!用什么书法来“魏亮”这二字最漂亮? 万事胜意,喜乐长安繁体 什么叫喜乐长安 各地方言小品搞笑大全 边缘性人格障碍定义 边缘型人格障碍治疗 我准备去医院诊断边缘性人格障碍,我听到网上说有很多边缘性人格障碍都被... 如何挽救边缘型人格障碍 【Linux】linux下OpenSSL的RSA密钥生成 邮件文档怎么解密 钉钉加密文件怎么解密(加密的文件如何解密) 使用OpenSSL 加密和解密文件 | Linux 中国 从前世今生来看中远海控! 中远海控还能持有吗 拼多多发货不显示物流信息怎么办 艺术生考研专业考什么 非洲都有哪些民间故事 非洲文化有哪些 非洲有哪些 发现妈妈和别人搞了怎么办,我妈离婚的,那男的看起来还有点不正经;_百... 再谈中远海控(01919) 请问电动淘气堡里的玩具大概是多少千瓦?我想做一个600平米左右的室内... 您好!您的室内儿童游乐园开了吗?我想在我们石家庄县城开一家,设备什... 前端如何理解AES加解密 电解三氯化铁溶液可以的到单质铁吗?为什么 怎样让三氯化铁变成单质铁?写出化学方程式和离子方程式,并在化学方 ... 吸附性除臭剂是什么? CentOS下生成自签名的证书的方法详解 https如何使用python+flask来实现 详解ThinkPHP6结合GuzzleHTTP发送HTTP请求 前马镇现实意义 飞利浦显示器怎么进入睡眠模式 前马镇简介 11年别克凯越是国几排放 ...用漂白剂漂完后 领口出现了鑫的红色是怎么回事? 百白破疫苗打了后还会得白喉吗? 百白破疫苗打几针才会有免疫 这里有些说明 - 如何建立个人网站 为什么百白破预防针要连用3次 百白破一共几针 百白破基础免疫要打几针 一个六个月孩子,不小心把第三次的百白破疫苗打了两次,间隔一个月,对孩... 北京买年货的地方 这些供你选择 304发热管安全吗