本教程主要用于CentOS7操作系统从OpenSSL 1.1.1j
升级到OpenSSL 1.1.1l
版本,其他版本大致也是这个思路。
1.前言
为啥,需要因为最近又爆出漏洞了,这个东西时不时需要定期升级。
1.1 漏洞说明
此次更新包括以下两个漏洞:
CVE-2021-3711(高危): 该漏洞是OpenSSL在解密SM2时造成的缓冲区溢出漏洞。是由于 SM2 解密实现中的EVP_PKEY_decrypt()函数的边界检查不当所导致。 远程攻击者可以通过发送特制的SM2内容,溢出缓冲区并在系统上执行其他代码或导致拒绝服务。
CVE-2021-3712(中危): 该漏洞为处理ASN.1字符串时造成的缓冲区溢出漏洞。 是由于X509_aux_print()函数中处理ASN.1字符串时的缓冲区溢出缺陷所导致。攻击者可以利用该漏洞导致拒绝服务或可能导致私钥泄露内容等危害。
1.2 风险等级
高
1.3 漏洞风险
漏洞被利用可能导致拒绝服务等危害
1.4 影响版本
CVE-2021-3711:
OpenSSL <= 1.1.1k
CVE-2021-3712:
OpenSSL <= 1.1.1k
OpenSSL <= 1.0.2y
1.5 安全版本
CVE-2021-3711:
OpenSSL >= 1.1.1l
CVE-2021-3712:
OpenSSL >= 1.1.1l
OpenSSL >= 1.0.2za
1.6 修复建议
将OpenSSL升级到1.1.1l、1.0.2za或最新版本(注意OpenSSL 1.0.2官方将很快不再支持)
【备注】:建议您在升级前做好数据备份工作,避免出现意外
2.查看当前版本
# openssl version
OpenSSL 1.1.1j 16 Feb 2021
3.下载解压
# wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
# tar zxf openssl-1.1.1l.tar.gz
# cd openssl-1.1.1l/
4.编译
# ./config
# make
# make test
# make install
默认安装目录主要在两个地方,一个是/usr/local/bin
目录,一个是/usr/lib64/
目录
5.备份之前的数据
# mv /usr/bin/openssl /usr/bin/openssl.old
# mv /usr/lib64/openssl /usr/lib64/openssl.old
# mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
6.软链接到新编译后的openssl相关文件
# ln -s /usr/local/bin/openssl /usr/bin/openssl
# ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
# ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
7.再次查看版本
# openssl version
OpenSSL 1.1.1l 24 Aug 2021
本文没有授权给任何组织、企业和个人转载,未经作者允许禁止转载!
欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。