本周初,OpenSSL发布了CVE-2015-1793的漏洞更新包:
这些更新包在7月9日发布,它们将用于修复一个“高危漏洞”。这些漏洞不会影响1.0.0或者 0.9.8版本。
漏洞细节及修补补丁的具体方法将在下面给出:
高危漏洞补丁
该补丁修复了一个高危漏洞。由OpenSSL团队出版,详情如下
在证书验证期间,OpenSSL(1.0.1n到1.0.2b版本)将试图寻找一个证书验证链,如果没有
找到,那么OpenSSL又会试图寻找另一个证书验证链。
但是在这个逻辑的实现中却存在着一个错误,这个错误将导致攻击者可以使用不受信任
的征收绕过检查。比如 CA 标识。这使他们能够使用无效的证书充当证书验证链中的叶
子证书,比如 CA 和 "issue"。
——OpenSSL安全公告【2015.7.9】
这种漏洞允许黑客进行“中间人”攻击,并且能让程序在看到无效和不受信任的证书时
让应用程序把该无效证书当成有效的。基本上,它可以让没个人都能成为他们自己的证
书颁发机构(Certificate Authority.CA)。
这个Bug已被提交到: aae41f8c54257d9fa6904d3a9aa09c5db6cefd0d.
还提交到了:2aacec8f4a5ba1b365620a7b17fcce311ada93ad.
该问题确实相当严重,这意味着又它又被修复了一次。
不幸中的万幸是,它只有限地影响部分OpenSSL版本:OpenSSL 1.0.2c,1.0.2b,1.0.1n
,1.0.10。
受影响的版本和操作系统有哪些?
该漏洞似乎只存在于OpenSSL在2015年6月以后发布的版本中。这貌似让如Linux这一类的
系统相对比较安全。因为他们已经有很久没有更新OpenSSL了。
Red Hat,CentOS和Ubuntu完全不会受此漏洞影响,因为在2015年6月没有发布针对这几
个系统的版本。
正如Red Hat宣布的:
OpenSSL项目已发布一个重要漏洞补丁(CVE-2015-1793),该漏洞影响OpenSSL
的 1.0.1n,1.0.1o,1.0.2b及1.0.2c版本。
上面的那些版本只能用一个月,考虑到Red Hat对重要漏洞的修复和功能选择的谨密政策
,OpenSSL没有搭载任意一个上述功能。
Red Hat无需做任何东西去修复或减轻该漏洞(CVE-2015-1793),因为Red Hat不受该影
响。
OpenSSL 7月9日安全修复(CVE-2015-1793)。
只是为了安全起见,如果可用,请尽快检查并进行更新。特别是如果你有软件使用了最
新的OpenSSL源代码或其它库。
如何打补丁
和往常的补丁一样(参考:heartbleed(https://ma.ttias.be/patch-against-the-
heartbleed-openssl-bug-cve-2014-0160/), CVE-2015-0291
(https://ma.ttias.be/openssl-cve-2015-0291-cve-2015-0286/) and CVE-2015-
0286),修复一般需要两步,首先你得更新操作系统的各种库。
$ yum update openssl
或者
$ apt-get update
$ apt-get install openssl
然后,找到所有依赖OpenSSL的服务,并重启它们。
$ lsof | grep libssl | awk '{print $1}' | sort | uniq
由于是“中间人”攻击,所以建议你重新所有服务或者应用程序连接到的SSL/TLS远程端
点。
如果有人试图改变你的远程端点的DNS并且把URL指向到自己的服务器,那么,你的程序
可能依然会认为它是一个有效的的SSL/TLS流。