NewStart CGSL CORE 5.04 / MAIN 5.04:openssl 多个漏洞 (NS-SA-2019-0033)

high Nessus 插件 ID 127201

语言:

简介

远程机器受到多个漏洞影响。

描述

运行版本 CORE 5.04 / MAIN 5.04 的远程 NewStart CGSL 主机安装有受多个漏洞影响的 openssl 程序包:- 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 不会受到影响。(CVE-2017-3737) - 在用于具有 1024 位模数进行幂运算的 AVX2 Montgomery 乘法程序中有一个溢出错误。No EC 算术受到影响。分析检测结果后发现,针对 RSA 和 DSA 的攻击难以执行,且可能性不高。由于推断私钥信息所需的大部分工作都可离线执行,针对 DH1024 的攻击则视为可行。此类攻击所需的资源量极大。但是,若要让对 TLS 的攻击有意义,服务器必须在多个客户端之间共享 DH1024 私钥,自 CVE-2016-0701 以来已无此选项。仅会影响支持 AVX2 的处理器,但不会影响支持 ADX 扩展的处理器,如 Intel Haswell(第 4 代)。注意:此问题的影响类似于 CVE-2017-3736、CVE-2017-3732 和 CVE-2015-3193。OpenSSL 1.0.2-1.0.2m 和 1.1.0-1.1.0g 版受到影响。已在 OpenSSL 1.0.2n 中修复。由于此问题的严重程度低,我们目前不会发布新版本的 OpenSSL 1.1.0。此修复在可用时将包含在 OpenSSL 1.1.0h 中。此修复也可在 OpenSSL git 存储库的认可 e502cc86d 中使用。(CVE-2017-3738) - 在低于 1.0.2m 和低于 1.1.0g 的 1.1.0 版 OpenSSL 中,x86_64 Montgomery 平方程序中存在进位传递错误。No EC 算术受到影响。分析检测结果后发现,针对 RSA 和 DSA 的攻击难以执行,且可能性不高。由于推断私钥信息所需的大部分工作都可离线执行,针对 DH 的攻击则视为可行(尽管很难)。此类攻击所需的资源极大,可能仅限极少数的攻击者访问。在具有持久性 DH 参数且多个客户端共享私钥的情况下,攻击者还需要额外使用目标私钥,在线访问未经修复的系统。仅影响支持 BMI1、BMI2 和 ADX 扩展的处理器,如 Intel Broadwell(第 5 代)及更高版本或 AMD Ryzen。(CVE-2017-3736) - 0.9.7l 之前的 0.9.7 和 0.9.8d 之前的 0.9.8 OpenSSL 版本允许远程攻击者通过错误格式的 ASN.1 结构触发不当处理错误情况造成拒绝服务(无限循环和内存消耗)。(CVE-2006-2937) - 当使用 RSA 签名验证时,通过要求额外时间处理的 X.509 证书中具有较大 (1) 公开指数或 (2) 公开模数值的寄生公钥,0.9.7l 之前的 OpenSSL 0.9.7、0.9.8d 之前的 0.9.8 和较早版本允许攻击者造成拒绝服务(CPU 消耗)。(CVE-2006-2940) - 在0.9.7l 之前的 0.9.7 版本和 0.9.8d 之前的 0.9.8 和较早 OpenSSL 版本中,SSL_get_shared_ciphers 函数的缓冲区溢出存在不明影响和涉及长串密码的远程攻击向量。(CVE-2006-3738) - 当使用带有指数 3 的 RSA 密钥时,0.9.7 之前,0.9.7k 之前的 0.9.7 和 0.9.8c 之前的 0.9.8 OpenSSL 版本在产生哈希前,删除 PKCS-1 填充,允许远程攻击者伪造由 RSA 密钥签署的 PKCS #1 v1.5 签名,防止 OpenSSL 正确验证 X.509 和其他使用 PKCS #1 的证书。(CVE-2006-4339) - 在 0.9.7l 之前的 OpenSSL 0.9.7、0.9.8d 之前的 0.9.8 和较早 OpenSSL 版本中,SSLv2 客户端代码的 get_server_hello 函数允许远程服务器经触发空指针取消引用的未知向量造成拒绝服务(客户端崩溃)。(CVE-2006-4343) - OpenSSL 0.9.8e 和较早版本中,crypto/bn/bn_mont.c 的 BN_from_montgomery 函数未正确执行 Montgomery 乘法,可能允许本地用户执行边信道攻击和检索 RSA 私钥。(CVE-2007-3108) - 在 0.9.8f 之前的 OpenSSL 0.9.8 版本中,DTLS 实现的大小差一错误允许远程攻击者通过不明向量执行任意代码。(CVE-2007-4995) - 在 OpenSSL 0.9.7 至 0.9.7l,0.9.8 至 0.9.8f 版本中,SSL_get_shared_ciphers 函数的大小差一错误可能允许远程攻击者通过触发一个字节缓冲区下溢的构造数据包执行任意代码。注意:此问题因修复 CVE-2006-3738 所引入。截至 20071012,不清楚是否可以执行代码。(CVE-2007-5135) - 当启用 TLS 服务器名称扩展时,OpenSSL 0.9.8f 和 0.9.8g 的双重释放漏洞允许远程攻击者通过格式错误的 Client Hello 数据包造成拒绝服务(崩溃)。注意:这些详细信息中的一部分获取自第三方信息。(CVE-2008-0891) - OpenSSL 0.9.8f 和 0.9.8g 允许远程攻击者通过省略服务器密钥交换消息和使用特定密码套件的 TLS 握手造成拒绝服务(崩溃),触发空指针取消引用。(CVE-2008-1672) - 在 OpenSSL 0.9.8k 和较早的 0.9.8 版本中,ssl/d1_pkt.c 的 dtls1_buffer_record 函数允许远程攻击者通过在队列缓冲的未来 epoch DTLS 记录(也称为 DTLS 记录缓冲区限制错误)造成拒绝服务(内存消耗)。(CVE-2009-1377) - 在 OpenSSL 0.9.8k 和较早的 0.9.8 版本中,ssl/d1_both.c 中的 dtls1_process_out_of_seq_message 函数中的多个内存泄漏允许远程攻击者通过 (1) 重复或 (2) 序列号远远大于当前序列号(也称为 DTLS 片段处理内存泄漏)的 DTLS 记录造成拒绝服务(内存消耗)。(CVE-2009-1378) - 在 OpenSSL 1.0.0 Beta 2 中,ssl/d1_both.c 的 dtls1_retrieve_buffered_fragment 函数存在使用后释放漏洞,允许远程攻击者通过 DTLS 数据包造成拒绝服务(openssl s_client 崩溃)和可能产生其他不明影响,如使用构造的服务器证书的服务器数据包所示。(CVE-2009-1379) - TLS 协议和 SSL 协议 3.0 和可能的较早版本(如 Microsoft Internet Information Services (IIS) 7.0 中所用)、Apache HTTP Server 2.2.14 和较早版本中的 mod_ssl、0.9.8l 之前的 OpenSSL、GnuTLS 2.8.5 和较早版本、Mozilla 网络安全服务 (NSS) 3.12.4 和较早版本、多个 Cisco 产品和其他产品,未与现有连接正确关联重新协商握手,允许中间人攻击者通过发送未经身份验证的请求(通过由服务器在重新协商后环境中追溯处理)将数据插入 HTTPS 会话和可能受 TLS 或 SSL 保护的其他会话类型,该问题与纯文本注入攻击相关,也称为 Project Mogul 问题。(CVE-2009-3555) - 在 OpenSSL 0.9.8l 和较早版本和 1.0.0 Beta 到 Beta 4 版本中,crypto/comp/c_zlib.c 的 zlib_stateful_finish 函数存在内存泄漏,允许远程攻击者通过触发 CRYPTO_cleanup_all_ex_data 函数的不正确调用的向量,造成拒绝服务(内存消耗),如使用 Apache HTTP 服务器的 SSLv3 和 PHP 所示,该问题与 CVE-2008-1678 相关。(CVE-2009-4355) - 在低于 0.9.8o 和低于 1.0.0a 的 1.x 版本的 OpenSSL 中,crypto/cms/cms_asn1.c 的 Cryptographic Message Syntax (CMS) 实现未正确处理包含 OriginatorInfo 的结构,允许环境相关的攻击者通过不明向量修改无效内存位置或发动双重释放攻击,并可能执行任意代码。(CVE-2010-0742) - 在低于 1.0.0a 的 OpenSSL 1.x 中,EVP_PKEY_verify_recover 函数的 RSA 验证恢复(如 pkeyutl 和其他应用程序所用)在失败时会返回未初始化的内存,可能允许环境相关的攻击者通过不明向量绕过预期关键要求或获得敏感信息。注意:这些详细信息中的一部分获取自第三方信息。(CVE-2010-1633) - 当在 TLS 服务器上启用多线程和内部缓存时,在 OpenSSL 0.9.8f 到 0.9.8o、1.0.0 和 1.0.0a 中,ssl/t1_lib.c 的多个争用条件可能允许远程攻击者通过触发基于堆的缓冲区溢出的客户端数据执行任意代码,这与 (1) TLS 服务器名称扩展和 (2) 椭圆曲线加密算法相关。(CVE-2010-3864) - 当启用 SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 时,低于 0.9.8q 、低于 1.0.0c 的 1.0.x 版本的 OpenSSL 未正确阻止修改会话缓存中的密码套件,允许远程攻击者通过涉及探查网络流量以发现会话标识符的向量,迫使降级到意外密码。(CVE-2010-4180) - OpenSSL 0.9.8h 到 0.9.8q 和 1.0.0 到 1.0.0c 中的 ssl/t1_lib.c 允许远程攻击者通过触发越界内存访问的格式错误 ClientHello 握手消息造成拒绝服务(崩溃),并可能获取使用 OpenSSL 的应用程序中的敏感信息,也称为 OCSP 装订漏洞。(CVE-2011-0014) - 在低于 1.0.0e 之前的 OpenSSL 1.0.x 中,crypto/x509/x509_vfy.c 未初始化某些结构成员,从而更便于远程攻击者通过对应过去某个时间段的 nextUpdate 值绕过 CRL 验证。(CVE-2011-3207) - OpenSSL 0.9.8s 和 1.0.0f 未正确支持 DTLS 应用程序,允许远程攻击者通过与越界读取相关的不明向量造成拒绝服务(崩溃)。注意:存在此漏洞的原因是对 CVE-2011-4108 的修复不正确。(CVE-2012-0050) - 在版本低于 0.9.8v、低于 1.0.0i 的 1.0.0 和低于 1.0.1a 的 1.0.1 的 OpenSSL,crypto/asn1/a_d2i_fp.c 中的 asn1_d2i_read_bio 函数未正确解释整数数据,允许远程攻击者通过构造的 DER 数据执行缓冲区溢出攻击,并造成拒绝服务(内存破坏)或可能产生其他不明影响,如 X.509 证书或 RSA 公钥所示。(CVE-2012-2110) - 在 1.0.1f 之前的 OpenSSL 1.0.1 中,ssl/s3_both.c 的 ssl3_take_mac 函数允许远程 TLS 服务器通过 TLS 握手中构造的 Next Protocol Negotiation 记录造成拒绝服务(空指针取消引用和应用程序崩溃)。(CVE-2013-4353) - 1.0.2 之前的 OpenSSL 版本的 ssl/s3_lib.c 中的 ssl_get_algorithm2 函数从错误的数据结构中获取特定版本号,这允许远程攻击者通过从 TLS 1.2 客户端构建的流量造成拒绝服务(后台程序崩溃)。(CVE-2013-6449) - 在 OpenSSL 版本低于 1.0.0l 的 1.0.0 和低于 1.0.1f 的 1.0.1 中,DTLS 重新传输实现未正确维护用于摘要和加密环境的数据结构,允许中间人攻击者通过干扰与 ssl/d1_both.c 和 ssl/t1_enc.c 相关的数据包传输,触发使用不同的环境,造成拒绝服务(应用程序崩溃)。(CVE-2013-6450) - 在 OpenSSL 处理 TLS 和 DTLS Heartbeat Extension 数据包的方式中发现信息泄露缺陷。恶意 TLS 或 DTLS 客户端或服务器可发送特别构建的 TLS 或 DTLS 心跳信息数据包,使每个请求从连接的客户端或服务器泄露有限部分的内存。请注意,泄露的内存部分可能包含敏感信息,例如私钥。(CVE-2014-0160) - 当解密使用密码块链接 (CBC) 模式下的块密码加密的消息时,在 SSL 3.0 处理填充字节的方式中发现一个缺陷。如果中间人 (MITM) 攻击者能够强制受害的应用程序通过新创建的 SSL 3.0 连接不断地发送同样的数据,此缺陷就能将选中的加密文本字节在 256 次内解密。(CVE-2014-3566) - 在将 DES/3DES 密码用作 TLS/SSL 协议一部分的方式中发现缺陷。如果通信采用基于 DES/3DES 的密码套件,中间人攻击者可利用此缺陷,通过捕获 TLS/SSL 服务器和客户端之间大量的加密流量,恢复一些纯文本数据。(CVE-2016-2183) 请注意,Nessus 并未针对此问题进行测试,而仅依赖应用程序自我报告的版本号。

解决方案

升级易受攻击的 CGSL openssl 程序包。请注意,可能尚无可用的已更新程序包。请联系 ZTE 获取更多信息。

另见

http://security.gd-linux.com/notice/NS-SA-2019-0033

插件详情

严重性: High

ID: 127201

文件名: newstart_cgsl_NS-SA-2019-0033_openssl.nasl

版本: 1.8

类型: local

发布时间: 2019/8/12

最近更新时间: 2023/4/25

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.9

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.3

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2006-3738

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 7

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

时间矢量: CVSS:3.0/E:F/RL:O/RC:C

CVSS 分数来源: CVE-2016-2183

漏洞信息

必需的 KB 项: Host/local_checks_enabled, Host/ZTE-CGSL/release, Host/ZTE-CGSL/rpm-list, Host/cpu

可利用: true

易利用性: Exploits are available

补丁发布日期: 2019/7/17

漏洞发布日期: 2006/9/5

CISA 已知可遭利用的漏洞到期日期: 2022/5/25

可利用的方式

Core Impact

参考资料信息

CVE: CVE-2006-2937, CVE-2006-2940, CVE-2006-3738, CVE-2006-4339, CVE-2006-4343, CVE-2007-3108, CVE-2007-4995, CVE-2007-5135, CVE-2008-0891, CVE-2008-1672, CVE-2009-1377, CVE-2009-1378, CVE-2009-1379, CVE-2009-3555, CVE-2009-4355, CVE-2010-0742, CVE-2010-1633, CVE-2010-3864, CVE-2010-4180, CVE-2011-0014, CVE-2011-3207, CVE-2012-0050, CVE-2012-2110, CVE-2013-4353, CVE-2013-6449, CVE-2013-6450, CVE-2014-0160, CVE-2014-3566, CVE-2016-2183, CVE-2017-3736, CVE-2017-3737, CVE-2017-3738

BID: 92630

CWE: 119, 189, 287, 310, 399