Mandriva Linux 安全性公告:openssl (MDVSA-2015:062)

high Nessus Plugin ID 82315

概要

遠端 Mandriva Linux 主機缺少一或多個安全性更新。

說明

在 openssl 中發現多個弱點並已更正:

在 OpenSSL 1.0.1g 之前的版本中,s3_pkt.c 的 ssl3_read_bytes 函式中存有爭用情形,在 SSL_MODE_RELEASE_BUFFERS 啟用的情況下,這會讓遠端攻擊者得以透過多執行緒環境中的 SSL 連線,在工作階段之間插入資料或造成拒絕服務 (釋放後使用或剖析錯誤) (CVE-2010-5298)。

在 1.0.0l 版之前的 OpenSSL 中,Montgomery 階梯實作並未確認特定交換作業擁有常數時間行為,導致本機使用者更容易透過 FLUSH+RELOAD 快取側通道攻擊來取得 ECDSA 臨時信息 (CVE-2014-0076)。

在 1.0.1g 版之前的 OpenSSL 1.0.1 中,(1) TLS 和 (2) DTLS 實作未正確處理活動訊號延伸模組封包,其允許遠端攻擊者透過可觸發緩衝區過度讀取的特製封包,從處理程序記憶體中取得敏感資訊,讀取私密金鑰即為一例;這與 d1_both.c 和 t1_lib.c (即 Heartbleed 錯誤) 有關 (CVE-2014-0160)。

在 0.9.8za 版之前的 OpenSSL、1.0.0m 之前的 1.0.0 和 1.0.1h 之前的 1.0.1 中,d1_both.c 的 dtls1_reassemble_fragment 函式未正確驗證 DTLS ClientHello 訊息中的片段長度,這會讓遠端攻擊者透過非初始的長片段,執行任意程式碼或引發拒絕服務 (緩衝區溢位和應用程式損毀) (CVE-2014-0195)。

在 OpenSSL 1.x 至 1.0.1g 版中,s3_pkt.c 的 do_ssl3_write 函式在 SSL_MODE_RELEASE_BUFFERS 啟用的情況下,進行特定遞迴呼叫時並未正確管理緩衝區指標,這會讓遠端攻擊者得以透過向量觸發警示情形,進而造成拒絕服務 (NULL 指標解除參照和應用程式損毀) (CVE-2014-0198)。

在 0.9.8za 版之前的 OpenSSL、1.0.0m 之前的 1.0.0 和 1.0.1h 之前的 1.0.1 中,d1_both.c 的 dtls1_get_message_fragment 函式會讓遠端攻擊者透過無效 DTLS 交握中的 DTLS hello 訊息,引發拒絕服務 (遞迴和用戶端當機) (CVE-2014-0221)。

0.9.8za 版之前的 OpenSSL、1.0.0m 之前的 1.0.0 和 1.0.1h 之前的 1.0.1 未正確限制 ChangeCipherSpec 訊息的處理,這會讓攔截式攻擊者在特定 OpenSSL 至 OpenSSL 通訊中觸發零長度主要金鑰的使用,進而透過特製 TLS 交握 (即 CCS 插入弱點) 來劫持工作階段或取得敏感資訊 (CVE-2014-0224)。

在 0.9.8za 版之前的 OpenSSL、1.0.0m 之前的 1.0.0 和 1.0.1h 之前的 1.0.1 中,s3_clnt.c 的 ssl3_send_client_key_exchange 函式在使用匿名 ECDH 加密套件時,會允許遠端攻擊者透過觸發 NULL 憑證值來引發拒絕服務 (NULL 指標解除參照和用戶端當機) (CVE-2014-3470)。

在 OpenSSL 1.0.1j 版之前的 1.0.1 版中,DTLS SRTP 延伸模組的 d1_srtp.c 記憶體洩漏會讓遠端攻擊者透過特製的交握訊息造成拒絕服務 (記憶體消耗) (CVE-2014-3513)。

在 OpenSSL 1.0.1i 版之前的版本和其他產品中所用的 SSL 通訊協定 3.0 會使用不具決定性的 CBC 填補,這會讓攔截式攻擊者更容易透過填補 oracle 攻擊取得純文字資料 (即「POODLE」問題) (CVE-2014-3566)。

在 OpenSSL 0.9.8zc 版之前的版本、1.0.0o 版之前的 1.0.0 版和 1.0.1j 版之前的 1.0.1 版中,t1_lib.c 中 tls_decrypt_ticket 函式的記憶體洩漏會讓遠端攻擊者透過特製的工作階段票證觸發整數檢查失敗,進而造成拒絕服務 (記憶體消耗) (CVE-2014-3567)。

在 OpenSSL 0.9.8zc、1.0.0o 和 1.0.1j 版中,s23_srvr.c 的 ssl23_get_client_hello 函式並未正確處理嘗試使用不受支援的通訊協定,進而允許遠端攻擊者透過未預期的交握造成拒絕服務 (NULL 指標解除參照和程序損毀); SSLv3 交握至具有特定錯誤處理的 no-ssl3 應用程式即為一例。注意:在 CVE-2014-3568 修正之後,此問題會變為相關 (CVE-2014-3569)。

在 OpenSSL 0.9.8zd 版之前的版本、1.0.0p 之前的 1.0.0 版以及 1.0.1k 之前的 1.0.1 版中,BN_sqr 實作未正確計算 BIGNUM 值的平方數,這可能讓遠端攻擊者更容易透過不明向量破解密碼編譯保護機制;此問題與 crypto/bn/asm/mips.pl、crypto/bn/asm/x86_64-gcc.c 和 crypto/bn/bn_asm.c 有關 (CVE-2014-3570)。

在 OpenSSL 0.9.8zd 版之前的版本、1.0.0p 版之前的 1.0.0 版和 1.0.1k 版之前的 1.0.1 版,允許遠端攻擊者透過特製的 DTLS 訊息 (處理時使用的交握標頭讀取作業與標頭內文的讀取作業不同) 造成拒絕服務 (NULL 指標解除參照和應用程式損毀);此問題與 d1_pkt.c 中的 dtls1_get_record 函式,以及 s3_pkt.c 中的 ssl3_read_n 函式有關 (CVE-2014-3571)。

在 OpenSSL 0.9.8zd 版之前的版本、1.0.0p 版之前的 1.0.0 版和 1.0.1k 版之前的 1.0.1 版中,s3_clnt.c 的 ssl3_get_key_exchange 函式允許遠端 SSL 伺服器執行 ECDHE 至 ECDH 的降級攻擊,並藉由忽略 ServerKeyExchange 訊息來觸發轉寄密碼缺乏 (CVE-2014-3572)。

在 OpenSSL 0.9.8zd 版之前的版本、1.0.0p 版之前的 1.0.0 版和 1.0.1k 版之前的 1.0.1 版,並未對憑證資料強制執行特定限制,進而允許遠端攻擊者在憑證的未簽署部分中納入特製資料,藉此破解指紋式憑證黑名單保護機制;此問題與 crypto/asn1/a_verify.c、crypto/dsa/dsa_asn1.c、crypto/ecdsa/ecs_vrf.c 和 crypto/x509/x_all.c 有關 (CVE-2014-8275)。

在 0.9.8zd 版之前的 OpenSSL、1.0.0p 版之前的 1.0.0 版,以及 1.0.1k 版之前的 1.0.1 版中,s3_clnt.c 的 ssl3_get_key_exchange 函式允許遠端 SSL 伺服器發動 RSA-to-EXPORT_RSA 降級攻擊,以及在不符合規定的角色中提供弱式暫時 RSA 金鑰,藉此執行暴力密碼破解解密,此與 FREAK 問題相關。注意:此 CVE 的範圍僅限於 OpenSSL 型用戶端程式碼,而非與伺服器或其他 TLS 實作相關的 EXPORT_RSA 問題 (CVE-2015-0204)。

在 OpenSSL 1.0.0p 版之前的 1.0.0 版和 1.0.1k 版之前的 1.0.1 版中,s3_srvr.c 的 ssl3_get_cert_verify 函式不需要求 CertificateVerify 訊息,即可接受含有 Diffie-Hellman (DH) 憑證的用戶端驗證,這會允許遠端攻擊者不需要知道私密金鑰,即可將特製的 TLS 交握通訊協定流量傳入可識別 DH 支援之憑證授權單位的伺服器,進而取得存取權 (CVE-2015-0205)。

在 OpenSSL 1.0.0p 之前的 1.0.0 版和 1.0.1k 之前的 1.0.1 版中,d1_pkt.c 的 dtls1_buffer_record 函式中存有記憶體洩漏,會允許遠端攻擊者透過傳送下一個 Epoch 的多個重複記錄來造成拒絕服務 (記憶體消耗),進而導致重播偵測失敗 (CVE-2015-0206)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,crypto/ec/ec_asn1.c 之 d2i_ECPrivateKey 函式的釋放後使用弱點,可能讓遠端攻擊者得以透過在匯入時不當處理之格式錯誤的 Elliptic Curve (EC) 私密金鑰檔案,引發拒絕服務 (記憶體損毀和應用程式損毀) 或可能造成其他不明影響 (CVE-2015-0209)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,crypto/asn1/a_type.c 的 ASN1_TYPE_cmp 函式未正確執行布林型別的比較,這會讓遠端攻擊者得以透過使用憑證驗證功能的端點特製 X.509 憑證,進而引發拒絕服務 (無效讀取作業和應用程式損毀) (CVE-2015-0286)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,crypto/asn1/tasn_dec.c 的 ASN1_item_ex_d2i 函式未重新初始化 CHOICE 和 ADB 資料結構,這可能讓攻擊者得以利用依賴 ASN.1 結構重複使用的應用程式,藉此引發拒絕服務 (無效寫入作業和記憶體損毀) (CVE-2015-0287)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,crypto/x509/x509_req.c 的 X509_to_X509_REQ 函式可能讓攻擊者得以透過無效的憑證金鑰,引發拒絕服務 (NULL 指標解除參照和應用程式損毀) (CVE-2015-0288)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,PKCS#7 實作未正確處理遺漏的外部 ContentInfo,這會讓攻擊者得以利用處理任意 PKCS#7 資料的應用程式,並且提供具有 ASN.1 編碼的格式錯誤資料,藉此引發拒絕服務 (NULL 指標解除參照和應用程式損毀),此與 crypto/pkcs7/pk7_doit.c 和 crypto/pkcs7/pk7_lib.c 相關 (CVE-2015-0289)。

在 0.9.8zf 版之前的 OpenSSL、1.0.0r 版之前的 1.0.0 版、1.0.1m 版之前的 1.0.1,以及 1.0.2a 版之前的 1.0.2 版中,SSLv2 實作會讓遠端攻擊者得以透過特製的 CLIENT-MASTER-KEY 訊息引發拒絕服務 (s2_lib.c 宣告失敗和程序結束) (CVE-2015-0293)。

更新版套件已升級至 1.0.1m 版,這些安全性瑕疵都已修正。

解決方案

更新受影響的套件。

另請參閱

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

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

Plugin 詳細資訊

嚴重性: High

ID: 82315

檔案名稱: mandriva_MDVSA-2015-062.nasl

版本: 1.13

類型: local

已發布: 2015/3/30

已更新: 2022/5/5

支援的感應器: Nessus

風險資訊

VPR

風險因素: High

分數: 7.7

CVSS v2

風險因素: High

基本分數: 9.4

媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:N

弱點資訊

CPE: p-cpe:/a:mandriva:linux:lib64openssl-devel, p-cpe:/a:mandriva:linux:lib64openssl-engines1.0.0, p-cpe:/a:mandriva:linux:lib64openssl-static-devel, p-cpe:/a:mandriva:linux:lib64openssl1.0.0, p-cpe:/a:mandriva:linux:openssl, cpe:/o:mandriva:business_server:2

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, Host/Mandrake/release, Host/Mandrake/rpm-list

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2015/3/27

CISA 已知遭惡意利用弱點到期日: 2022/5/25

可惡意利用

Core Impact

參考資訊

CVE: CVE-2010-5298, CVE-2014-0076, CVE-2014-0160, CVE-2014-0195, CVE-2014-0198, CVE-2014-0221, CVE-2014-0224, CVE-2014-3470, CVE-2014-3513, CVE-2014-3566, CVE-2014-3567, CVE-2014-3569, CVE-2014-3570, CVE-2014-3571, CVE-2014-3572, CVE-2014-8275, CVE-2015-0204, CVE-2015-0205, CVE-2015-0206, CVE-2015-0209, CVE-2015-0286, CVE-2015-0287, CVE-2015-0288, CVE-2015-0289, CVE-2015-0293

MDVSA: 2015:062