CVE-2020-28052披露在Bouncy Castle輕量級密碼術(shù)包的OpenBSDBcrypt類中發(fā)現(xiàn)繞過身份驗(yàn)證的漏洞,攻擊者可以避開密碼檢查。
概述
新思科技網(wǎng)絡(luò)安全研究中心(CyRC)研究人員發(fā)現(xiàn)了CVE-2020-28052漏洞,即廣泛使用的Java密碼庫Bouncy Castle中的OpenBSDBcrypt類的繞過身份驗(yàn)證的漏洞。該類實(shí)現(xiàn)了用于密碼哈希的Bcrypt算法。攻擊者可以在使用Bouncy Castle的OpenBSDBcrypt類的應(yīng)用程序中繞過密碼檢查。
在提交(00dfe74aeb4f6300dd56b34b5e6986ce6658617e)中引入了OpenBSDBcrypt.doCheckPassword方法中的該漏洞。
doCheckPassword方法的驗(yàn)證程序?qū)崿F(xiàn)是有缺陷的。該代碼檢查值為0到59(包括0和59)字符在字符串中的索引,而不是檢查在字符串中0到59之間位置的字符值是否匹配。這意味著一系列密碼,其生成的哈希(例如,哈希值不包含介于0x00和0x3B之間的字節(jié))會(huì)與其它不包含這些字節(jié)的密碼哈希匹配。通過此檢查意味著攻擊者不需要與存儲(chǔ)的哈希值逐字節(jié)匹配。
在使用Bcrypt.doCheckPassword()檢查密碼的大多數(shù)情況下,成功地利用漏洞將繞過身份驗(yàn)證。
漏洞利用
攻擊者必須嘗試暴力破解密碼,直到觸發(fā)繞過身份驗(yàn)證。我們的實(shí)驗(yàn)表明,20%的測試密碼在1,000次內(nèi)嘗試中被成功繞過。某些密碼哈希需要進(jìn)行更多嘗試,具體取決于字符值在0到60之間(1到59)的字節(jié)數(shù)。此外,我們的調(diào)查表明,通過足夠的嘗試可以繞過所有密碼哈希。在極少數(shù)情況下,任何輸入都可以繞過一些密碼哈希。
受影響的軟件
CVE-2020-28052漏洞影響了Bouncy Castle 1.65(發(fā)布于2020年3月31日)和Bouncy Castle 1.66(發(fā)布于7/4/2020)。
Bouncy Castle 1.67(發(fā)布于2020年11月1日)修復(fù)了此漏洞。 1.65之前的版本不受CVE-2020-28052漏洞的影響。
注:基于漏洞披露,新思科技研究了其產(chǎn)品,發(fā)現(xiàn)在該披露發(fā)布之時(shí)沒有產(chǎn)品使用過Bouncy Castle版本1.65或1.66。
影響
基于哈希的Bcrypt身份驗(yàn)證可應(yīng)用在身份驗(yàn)證檢查,如在Web應(yīng)用程序和API中身份驗(yàn)證檢查。
CVSS 3.1 評分
Bouncy Castle是一個(gè)軟件庫。在確定通用漏洞評分系統(tǒng)(CVSS)分?jǐn)?shù)時(shí),假定了以下最壞情況(遵循FIRST CVSS軟件庫評分準(zhǔn)則):
Bcrypt哈希用于檢查用戶提供的密碼。一旦觸發(fā)了繞過身份驗(yàn)證,攻擊者就可以執(zhí)行與合法用戶相同的操作(例如,獲得SSO,即single-sign-on,單次登錄系統(tǒng),管理員級別的訪問權(quán)限)。
Vector: ?AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C
評分: 8.1
漏洞可利用性指標(biāo):
- 攻擊途徑Attack Vector (AV): N = Network 網(wǎng)絡(luò)
- 攻擊復(fù)雜程度Attack Complexity (AC): H = High 高
- 所需權(quán)限Privileges Required (PR): N = None 無
- 用戶交互User Interaction (UI): N = None 無
- 范圍Scope (S): C = Changed scope 范圍變更
影響指標(biāo)
- 機(jī)密性影響Confidentiality Impact (C): H = High impact 影響大
- 完整性影響Integrity Impact (I): H = High impact 影響大
- 可用性影響Availability Impact (A): H = High impact 影響大
修復(fù)
強(qiáng)烈建議該庫的軟件供應(yīng)商和用戶升級到Bouncy Castle Java版本1.67或更高版本。
漏洞發(fā)現(xiàn)者
一組位于芬蘭奧盧的新思科技網(wǎng)絡(luò)安全研究中心的研究人員發(fā)現(xiàn)了此漏洞:
- Matti Varanka
- Tero Rontti
- 新思科技感謝Bouncy Castle團(tuán)隊(duì)及時(shí)地響應(yīng)并修復(fù)此漏洞。
時(shí)間線
- 2020年10月20日:發(fā)現(xiàn)該Bouncy Castle漏洞
- 2020年10月22日:新思科技確認(rèn)沒有產(chǎn)品使用此漏洞影響的版本
- 2020年10月27日:新思科技揭露Bouncy Castle的漏洞
- 2020年10月28日:Bouncy Castle確認(rèn)存在漏洞
- 2020年11月2日: 新思科技驗(yàn)證Bouncy Castle修復(fù)漏洞
- 2020年12月17日:發(fā)布修復(fù)建議
原文鏈接:
https://www.synopsys.com/blogs/software-security/cve-2020-28052-bouncy-castle/