一、背景介绍
3月29日,市委网信办技术支撑单位监测到OpenSSL发布安全更新风险公告,修复了OpenSSL产品中的一个拒绝服务漏洞和一个证书验证绕过漏洞(CVE-2021-3449、CVE-2021-3450)。
1.1 漏洞描述
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,同时确认连接者身份。这个包广泛被应用在互联网的网页服务器上。
1、拒绝服务漏洞
在重新握手过程中,tls1_set_shared_sigalgs()会调用tls12_shared_sigalgs()与上一个的peer_sigalgslen握手,但是上一次释放内存时没有重置变量peer_sigalgslen,导致 tls12_shared_sigalgs()遍历 peer_sigalgs时出现空指针解引用错误。补丁在释放peer_sigalgs内存时,设置peer_sigalgslen变量为0再次握手时认为上一次的 peer_sigalgslen 不可用,即不会发生空指针解引用。
2、证书验证绕过漏洞
在开启 X509_V_FLAG_X509_STRICT 选项的openssl服务器上,由于OpenSSL对X.509证书链的验证逻辑中存在问题,导致受影响的系统接受由非 CA 证书或证书链签名的有效证书。攻击者可以通过使用任何有效的证书或证书链来签名精心制作的证书来利用此漏洞。从而实现能使攻击者能够进行中间人(MiTM)攻击并获取敏感信息(例如:访问受证书身份验证保护的网络或资产,窃听加密通信内容)。
1.2 漏洞编号
CVE-2021-3449
CVE-2021-3450
1.3 漏洞等级
高危
二、修复建议
2.1 受影响版本
所有 OpenSSL1.1.1版。
OpenSSL1.0.2不受此问题影响。
2.2 修复建议
OpenSSL已经发布了安全更新,建议受影响用户尽快升级到 openssl1.1.1k版本。