OpenSSL 修復(fù)了嚴(yán)重的 DoS 和證書(shū)驗(yàn)證漏洞
OpenSSL 是一個(gè)常用的軟件庫(kù),用于構(gòu)建需要建立安全通信的網(wǎng)絡(luò)應(yīng)用和服務(wù)器。近日,OpenSSL 項(xiàng)目針對(duì)潛伏在 OpenSSL 產(chǎn)品中的兩個(gè)高危漏洞 CVE-2021-3449 和 CVE-2021-3450 發(fā)布了公告。
這兩個(gè)漏洞包括:
- CVE-2021-3449:由于 NULL 指針取消引用而導(dǎo)致的拒絕服務(wù)(DoS)漏洞,只影響 OpenSSL 服務(wù)器實(shí)例,而不影響客戶端。
- CVE-2021-3450:不正確的 CA 證書(shū)驗(yàn)證漏洞,同時(shí)影響服務(wù)器和客戶端實(shí)例。
單行代碼即可修復(fù) DoS 漏洞
如果在重新協(xié)商的過(guò)程中,客戶端發(fā)送了一個(gè)惡意的 ClientHello 消息,OpenSSL TLS 服務(wù)器中的 DoS 漏洞(CVE-2021-3449)就會(huì)導(dǎo)致服務(wù)器崩潰。
公告指出,"如果 TLSv1.2 重新協(xié)商的 ClientHello 省略了 signature_algorithms 擴(kuò)展(在初始的 ClientHello 中存在),但包含了 signature_algorithms_cert 擴(kuò)展,那么就會(huì)導(dǎo)致 NULL 指針取消引用,從而導(dǎo)致崩潰和拒絕服務(wù)攻擊。"
該漏洞只影響運(yùn)行在 1.1.1 和 1.1.1j 版本之間(包括兩者)且需要同時(shí)啟用 TLSv1.2 和重新協(xié)商的 OpenSSL 服務(wù)器。然而,由于這是這些 OpenSSL 服務(wù)器版本的默認(rèn)配置,許多活躍的服務(wù)器可能都存在這個(gè)潛在的漏洞,而 OpenSSL 客戶端則不受該漏洞影響。
幸運(yùn)的是,修復(fù)這個(gè) DoS 漏洞十分簡(jiǎn)單,只需要將 peer_sigalgslen 設(shè)置為 0 即可。
該漏洞由諾基亞的工程師 Peter Kästle 和 Samuel Sapalski 發(fā)現(xiàn),他們也提供了上圖所示的修復(fù)方法。
CA 證書(shū)漏洞
繞過(guò) CA 證書(shū)驗(yàn)證的漏洞 CVE-2021-3450 則與 X509_V_FLAG_X509_STRICT 標(biāo)志有關(guān)。
OpenSSL 使用此標(biāo)志來(lái)禁止對(duì)損壞的證書(shū)使用替代方法,并嚴(yán)格要求根據(jù) X509 規(guī)則對(duì)證書(shū)進(jìn)行驗(yàn)證。然而,由于一個(gè)回歸錯(cuò)誤,OpenSSL 1.1.1h 及以上版本(但不包括修復(fù)后的 1.1.1k 版本)都會(huì)受到這個(gè)漏洞的影響,因?yàn)樵谶@些版本中這個(gè)標(biāo)志并沒(méi)有被默認(rèn)設(shè)置。
該公告指出,"從 OpenSSL 1.1.1h 版本開(kāi)始增加了一項(xiàng)檢查,以禁止在鏈中顯式編碼 elliptic curve 參數(shù)的證書(shū),這是附加的嚴(yán)格檢查。但是,這項(xiàng)檢查的實(shí)現(xiàn)中出現(xiàn)了一個(gè)錯(cuò)誤,意味著之前確認(rèn)鏈中證書(shū)是有效 CA 證書(shū)的檢查結(jié)果被覆蓋了"。
目前上述這兩個(gè)漏洞都不會(huì)影響 OpenSSL 1.0.2,并且這兩個(gè)漏洞都在 OpenSSL 1.1.1k 中得到了修復(fù),官方建議用戶升級(jí)到這個(gè)版本以保護(hù)他們的實(shí)例。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:OpenSSL 修復(fù)了嚴(yán)重的 DoS 和證書(shū)驗(yàn)證漏洞
本文地址:https://www.oschina.net/news/134860/openssl-fixes-severe-dos-vulnerabilities