Juniper Junos Multiple OpenSSL 弱點 (JSA10759) (SWEET32)

critical Nessus Plugin ID 96316

概要

遠端裝置缺少供應商提供的安全性修補程式。

說明

根據其自我報告的版本號碼,遠端 Juniper Junos 裝置受到與 OpenSSL 相關的下列弱點影響:- 使用 'p' 設為 0 的值處理匿名 DH ciphersuite 的 ServerKeyExchange 訊息時,s3_clnt.c 檔案的 ssl3_get_key_exchange() 函式中存在一個缺陷。攻擊者可惡意利用此弱點,造成分割錯誤,以損毀連結程式庫的應用程式,進而導致拒絕服務。(CVE-2015-1794) - 在 x86_64 Montgomery 平方實作中存在一個可能使 BN_mod_exp() 函式產生不正確結果的進位傳播缺陷。攻擊者可惡意利用此弱點,取得與私密金鑰相關的敏感資訊。(CVE-2015-3193) - 因為未正確處理遺失 PSS 參數的 ASN.1 簽章,file rsa_ameth.c 檔案中存在一個 NULL 指標解除參照缺陷。遠端攻擊者可惡意利用此缺陷造成簽章驗證常式損毀,進而導致拒絕服務情形。(CVE-2015-3194) - 在處理格式錯誤的 X509_ATTRIBUTE 結構時,tasn_dec.c 檔案中的 ASN1_TFLG_COMBINE 實作存在一個缺陷。遠端攻擊者可惡意利用此缺陷,觸發 PKCS#7 或 CMS 應用程式中的解碼失敗來洩露記憶體,進而導致拒絕服務。(CVE-2015-3195) - s3_clnt.c 存在爭用情形,當多執行緒用戶端接收到的 PSK 身分提示在父 SSL_CTX 結構中錯誤更新時,即會觸發。遠端攻擊者可惡意利用此弱點,透過特製的 ServerKeyExchange 訊息,造成雙重釋放記憶體錯誤,進而導致拒絕服務。(CVE-2015-3196) - 因為處理加密交涉時觸發的缺陷,存在一個加密演算法降級弱點。遠端攻擊者可惡意利用此弱點交涉 SSLv2 密碼並完成 SSLv2 交握,即使所有 SSLv2 密碼都已在伺服器上停用也是如此。請注意,只有在 SSL_OP_NO_SSLv2 選項尚未停用時,此弱點才會存在。(CVE-2015-3197) - 因為未正確處理 Intel Sandy-bridge 微架構上的 cache-bank 衝突,存在一個金鑰洩露弱點。攻擊者可惡意利用此弱點取得 RSA 金鑰資訊的存取權。(CVE-2016-0702) - SSLv2 實作中 (尤其是在 s2_srvr.c 檔案的 get_client_master_key() 函式內) 有一個缺陷存在,這是因為接受非零 CLIENT-MASTER-KEY CLEAR-KEY-LENGTH 值作為任意加密所導致。攔截式攻擊者可加以惡意利用,透過 Bleichenbacher RSA padding oracle 判斷 MASTER-KEY 值並解密 TLS 加密文字。(CVE-2016-0703) - 因為在使用匯出加密套件期間未正確覆寫 MASTER-KEY 位元組,SSLv2 oracle 保護機制中存在一個缺陷,特別是在 s2_srvr.c 檔案的 get_client_master_key() 函式內。遠端攻擊者可惡意利用此弱點,透過 Bleichenbacher RSA padding oracle 輕鬆解密 TLS 加密文字。(CVE-2016-0704) - 因為在剖析格式錯誤的 DSA 私密金鑰時未正確驗證使用者提供的輸入,存在一個雙重釋放錯誤。遠端攻擊者可惡意利用此弱點損毀記憶體,進而導致拒絕服務情形,或是執行任意程式碼。(CVE-2016-0705) - BN_hex2bn() 和 BN_dec2bn() 函式中有一個 NULL 指標解除參照缺陷存在。遠端攻擊者可惡意利用此缺陷觸發堆積損毀,進而執行任意程式碼。(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) - d2i BIO 函式從 BIO 讀取 ASN.1 資料時存在多個不明缺陷,這是因為無效編碼造成配置大量記憶體所致。未經驗證的遠端攻擊者可惡意利用這些缺陷,透過資源耗盡造成拒絕服務情形。(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 Public Key Infrastructure Time-Stamp Protocol (TSP) 實作中存在一個超出邊界讀取錯誤。未經驗證的遠端攻擊者可加以惡意利用,透過「openssl ts」命令不當處理的特製時間戳記檔案來造成拒絕服務,或洩露敏感資訊。(CVE-2016-2180) - bn_print.c 的 BN_bn2dec() 函式存在溢位情形,這是因為在處理 BIGNUM 值時不當驗證使用者提供的輸入所致。未經驗證的遠端攻擊者可加以惡意利用,造成處理程序損毀。(CVE-2016-2182) - 因此,3DES 和 Blowfish 演算法中有一個稱為 SWEET32 的弱點存在,這是因為預設使用弱式 64 位元區塊加密所致。具有足夠資源的攔截式攻擊者可透過「birthday」攻擊惡意利用此弱點,以偵測會在固定密碼與已知純文字之間洩露 XOR 的衝突,從而允許洩露密碼文字 (如安全 HTTPS Cookie),並可能導致劫持經驗證的工作階段。(CVE-2016-2183) - t1_lib.c 的 tls_decrypt_ticket() 函式中有一個缺陷存在,這是因為不當處理工單 HMAC 摘要所致。未經驗證的遠端攻擊者可加以惡意利用,透過過短的工單損毀處理程序,進而導致拒絕服務。(CVE-2016-6302) - mdc2dgst.c 的 MDC2_Update() 函式中存在整數溢位情形,這是因為不當驗證使用者提供的輸入所致。未經驗證的遠端攻擊者可加以惡意利用,造成堆積型緩衝區溢位,進而導致拒絕服務情形,或是執行任意程式碼。(CVE-2016-6303) - t1_lib.c 的 ssl_parse_clienthello_tlsext() 函式中存在一個缺陷,這是因為不當處理來自用戶端的過大 OCSP 狀態要求延伸項目所致。未經驗證的遠端攻擊者可加以惡意利用,透過大型 OCSP Status Request 延伸耗盡記憶體資源,進而導致拒絕服務情形。(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/

Plugin 詳細資訊

嚴重性: 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