Juniper Junos 多个 OpenSSL 漏洞 (JSA10759) (SWEET32)

critical Nessus 插件 ID 96316

简介

远程设备缺少供应商提供的安全修补程序。

描述

根据其自我报告的版本号,远程 Juniper Junos 设备受到下列与 OpenSSL 相关的漏洞影响:- 当处理匿名 DH 密码套件的 ServerKeyExchange 消息,且“P”值设置为 0 时,文件 s3_clnt.c 中的 ssl3_get_key_exchange() 函数中存在缺陷。攻击者可利用此缺陷,通过制造分段错误,使链接至库的应用程序崩溃,从而导致拒绝服务。(CVE-2015-1794) - x86_64 Montgomery 平方运算实现中存在携带传播缺陷,可造成 BN_mod_exp() 函数生成错误的结果。攻击者可利用此缺陷获取私钥相关的敏感信息。(CVE-2015-3193) - 文件 rsa_ameth.c 中存在空指针取消引用缺陷,这是由于未正确处理缺失 PSS 参数的 ASN.1 签名所致。远程攻击者可利用此缺陷,造成签名验证例程崩溃,进而导致拒绝服务情况。(CVE-2015-3194) - 在与处理畸形 X509_ATTRIBUTE 结构相关的文件 tasn_dec.c 中,ASN1_TFLG_COMBINE 实现中存在缺陷。通过触发 PKCS#7 或 CMS 应用中的解码故障,远程攻击者利用此缺陷造成内存泄露,进而导致拒绝服务。(CVE-2015-3195) - 当 PSK 身份提示未在父 SSL_CTX 结构中正确更新,且多线程客户端接收时,会触发 s3_clnt.c 中存在的争用条件。远程攻击者可利用此问题,通过特制的 ServerKeyExchange 消息,造成双重释放内存错误,进而导致拒绝服务。(CVE-2015-3196) - 处理加密协商时,由于触发的缺陷,存在加密算法降级漏洞。远程攻击者可利用此问题协商 SSLv2 密码并完成 SSLv2 握手,即使所有 SSLv2 密码都已在服务器上禁用也是如此。请注意,只有在 SSL_OP_NO_SSLv2 选项尚未禁用时,此漏洞才会存在。(CVE-2015-3197) - 存在密钥泄露漏洞,这是由于未正确处理 Intel Sandy-bridge 微架构上的缓存库冲突所致。攻击者可利用此漏洞,获取 RSA 密钥信息的访问权。(CVE-2016-0702) - 由于接受任意密码的非零 CLIENT-MASTER-KEY CLEAR-KEY-LENGTH 值,尤其在文件 s2_srvr.c 内的 get_client_master_key() 函数的 SSLv2 实现中存在一个缺陷。中间人攻击者可利用此问题来通过 Bleichenbacher RSA padding oracle 确定 MASTER-KEY 值,以及解密 TLS 密码文本。(CVE-2016-0703) - SSLv2 oracle 保护机制,尤其在文件 s2_srvr.c 内 get_client_master_key() 函数中存在缺陷,这是由于使用导出密码套件期间,未正确覆盖 MASTER-KEY 字节所致。远程攻击者可以利用此问题,通过利用 Bleichenbacher RSA padding oracle,更加轻松地解密 TLS 密文。(CVE-2016-0704) - 存在双重释放错误,这是由于当解析畸形 DSA 私钥时,未正确验证用户提供输入所致。远程攻击者可利用此问题损坏内存,从而导致拒绝服务或执行任意代码。(CVE-2016-0705) - BN_hex2bn() 和 BN_dec2bn() 函数中存在空指针取消引用缺陷。远程攻击者可利用此缺陷触发堆损坏,进而导致执行任意代码。(CVE-2016-0797) - 存在拒绝服务漏洞,这是由于未正确处理无效用户名所致。远程攻击者可利用此漏洞,通过特制的用户名,每个连接泄露 300 字节的内存,消耗可用内存资源。(CVE-2016-0798) - 存在多个内存损坏问题,允许远程攻击者造成拒绝服务情况或执行任意代码。(CVE-2016-0799) - 文件 crypto/evp/encode.c 内的 EVP_EncodeUpdate() 函数存在堆缓冲区溢出情况,处理大量输入数据时会遭到触发。未经身份验证的远程攻击者可利用此问题造成拒绝服务。(CVE-2016-2105) - 文件 crypto/evp/evp_enc.c 内的 EVP_EncryptUpdate() 函数存在堆缓冲区溢出情况,在前一次调用使用部分区块调用相同函数之后,处理大量输入数据时会遭到触发。未经身份验证的远程攻击者可利用此问题造成拒绝服务。(CVE-2016-2106) - 尝试编码以负整数表示的零值时,由于发生下溢情况,ASN.1 编码器存在远程代码执行漏洞。未经身份验证的远程攻击者可利用此问题造成内存损坏,因此导致执行任意代码。(CVE-2016-2108) - 由于无效编码造成分配大量内存,当从 BIO 读取 ASN.1 数据时,d2i BIO 函数中存在多个不明缺陷。未经身份验证的远程攻击者可利用这些缺陷,通过资源耗尽造成拒绝服务情况。(CVE-2016-2109) - 由于未正确使用指针算术进行堆缓冲区边界检查,s3_srvr.c, ssl_sess.c 和 t1_lib.c 中存在多个整数溢出情况。未经身份验证的远程攻击者可利用此问题造成拒绝服务。(CVE-2016-2177) - 由于未妥当确定是否使用常数时间操作,dsa_ossl.c 的 dsa_sign_setup() 函数中存在信息泄露漏洞。未经身份验证的远程攻击者可利用此问题,通过时序边信道攻击,泄露 DSA 密钥信息。(CVE-2016-2178) - X.509 公钥基础设施时间戳协议 (TSP) 实现中存在越界读取错误。未经身份验证的远程攻击者可利用此问题,通过由 'openssl ts' 命令错误处理的特制时间戳文件,造成拒绝服务或泄露敏感信息。(CVE-2016-2180) - 处理 BIGNUM 值时,由于未正确验证用户提供的输入,bn_print.c 内的 BN_bn2dec() 函数中存在溢出情况。未经身份验证的远程攻击者可利用此问题使进程崩溃。(CVE-2016-2182) - 由于默认使用弱 64 位块密码,3DES 和 Blowfish 算法中存在漏洞(称为 SWEET32)。具有足够资源的中间人攻击者可利用此漏洞,通过 'birthday' 攻击检测会在固定密码与已知纯文本之间泄露 XOR 的冲突,进而泄露密码文本(例如安全 HTTPS Cookie),并可能导致劫持经身份验证的会话。(CVE-2016-2183) - 由于未正确处理票证 HMAC 摘要,t1_lib.c 内的 tls_decrypt_ticket() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题,通过过短的票证造成进程崩溃,进而导致拒绝服务。(CVE-2016-6302) - 由于未正确验证用户提供的输入,mdc2dgst.c 的 MDC2_Update() 函数中存在整数溢出情况。未经身份验证的远程攻击者可利用此问题造成基于堆的缓冲区溢出,从而导致拒绝服务情况或可能执行任意代码。(CVE-2016-6303) - 由于未正确处理客户端的过大 OCSP 状态请求扩展,t1_lib.c 内的 ssl_parse_clienthello_tlsext() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题,通过大型 OCSP 状态请求扩展,消耗内存资源,进而导致拒绝服务情况。(CVE-2016-6304) - 由于未正确处理空记录,rec_layer_s3.c 内的 SSL_peek() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题,通过触发 SSL_peek 调用中的零长度记录,造成无限循环,进而导致拒绝服务情况。(CVE-2016-6305) - 证书解析器中存在越界读取错误,允许未经身份验证的远程攻击者,通过构建的证书操作,造成拒绝服务。(CVE-2016-6306) - 由于分配内存之前,未能检查超标长度,状态机实现中存在拒绝服务漏洞。未经身份验证的远程攻击者可利用此问题,通过构建的 TLS 消息,消耗内存资源。(CVE-2016-6307) 请注意,这些问题仅会影响附有 J-Web 的设备,或启用 JUNOScript 的 SSL 服务。

解决方案

应用 Juniper 公告 JSA10759 中提及的相关 Junos 软件版本或变通方案。

另见

https://kb.juniper.net/InfoCenter/index?page=content&id=JSA10759

https://www.openssl.org/news/secadv/20151203.txt

https://www.openssl.org/news/secadv/20160128.txt

https://www.openssl.org/news/secadv/20160301.txt

https://www.openssl.org/news/secadv/20160503.txt

https://www.openssl.org/news/secadv/20160922.txt

https://sweet32.info

https://www.openssl.org/blog/blog/2016/08/24/sweet32/

插件详情

严重性: Critical

ID: 96316

文件名: juniper_jsa10759.nasl

版本: 1.4

类型: combined

发布时间: 2017/1/5

最近更新时间: 2018/8/10

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

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

CVSS v3

风险因素: Critical

基本分数: 9.8

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

漏洞信息

CPE: cpe:/o:juniper:junos

必需的 KB 项: Host/Juniper/JUNOS/Version

补丁发布日期: 2016/10/12

漏洞发布日期: 2015/8/11

参考资料信息

CVE: CVE-2015-1794, CVE-2015-3193, CVE-2015-3194, CVE-2015-3195, CVE-2015-3196, CVE-2015-3197, CVE-2016-0702, CVE-2016-0703, CVE-2016-0704, CVE-2016-0705, CVE-2016-0797, CVE-2016-0798, CVE-2016-0799, CVE-2016-2105, CVE-2016-2106, CVE-2016-2108, CVE-2016-2109, CVE-2016-2177, CVE-2016-2178, CVE-2016-2180, CVE-2016-2182, CVE-2016-2183, CVE-2016-6302, CVE-2016-6303, CVE-2016-6304, CVE-2016-6305, CVE-2016-6306, CVE-2016-6307

BID: 78622, 78623, 78626, 82237, 83705, 83743, 83754, 83755, 83763, 83764, 87940, 89744, 89752, 89757, 91081, 91319, 92117, 92557, 92628, 92630, 92984, 93149, 93150, 93152, 93153

JSA: JSA10759