安全公告/【CVE-2017-3737】
基本信息
漏洞描述
OpenSSL 1.0.2(从版本 1.0.2b 开始)引入了“错误状态”机制。其目的是,如果在握手期间发生致命错误,则 OpenSSL 将进入错误状态,如果您尝试继续握手,它将立即失败。这按设计适用于显式握手函数(SSL_do_handshake()、SSL_accept() 和 SSL_connect()),但由于错误,如果直接调用 SSL_read() 或 SSL_write(),它将无法正常工作。在这种情况下,如果握手失败,则在初始函数调用中将返回致命错误。如果应用程序随后为同一 SSL 对象调用 SSL_read()/SSL_write(),则它将成功,并且数据无需直接从 SSL/TLS 记录层解密/加密即可传递。为了利用此问题,必须存在应用程序错误,导致在已经收到致命错误后发出对 SSL_read()/SSL_write() 的调用。 OpenSSL 版本 1.0.2b-1.0.2m 受到影响。OpenSSL 1.0.2n 已修复此问题。OpenSSL 1.1.0 不受影响。
修复方式
软件包升级 dnf update shim
参考
https://www.openssl.org/news/secadv/20171207.txt
http://www.securitytracker.com/id/1039978
http://www.securityfocus.com/bid/102103
https://security.netapp.com/advisory/ntap-20171208-0001/
https://security.FreeBSD.org/advisories/FreeBSD-SA-17:12.openssl.asc
https://www.digitalmunition.me/2017/12/cve-2017-3737-openssl-security-bypass-vulnerability/
https://security.gentoo.org/glsa/201712-03
https://www.debian.org/security/2017/dsa-4065
https://www.tenable.com/security/tns-2017-16
https://security.netapp.com/advisory/ntap-20180117-0002/
http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html
https://github.com/openssl/openssl/commit/898fb884b706aaeb283de4812340bb0bde8476dc
https://access.redhat.com/errata/RHSA-2018:0998
http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
https://security.netapp.com/advisory/ntap-20180419-0002/
https://access.redhat.com/errata/RHSA-2018:2187
https://access.redhat.com/errata/RHSA-2018:2186
https://access.redhat.com/errata/RHSA-2018:2185
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
https://cert-portal.siemens.com/productcert/pdf/ssa-179516.pdf
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html