础滨驱动的设计应用
新思科技网络安全研究中心(CyRC)研究人员发现了CVE-2020-28052漏洞,即广泛使用的Java密码库Bouncy Castle中的OpenBSDBcrypt类的绕过身份验证的漏洞。
该类实现了用于密码哈希的Bcrypt算法。攻击者可以在使用Bouncy Castle的OpenBSDBcrypt类的应用程序中绕过密码检查。
在提交(00诲蹿别74补别产4蹿6300诲诲56产34产5别6986肠别6658617别)中引入了翱辫别苍叠厂顿叠肠谤测辫迟.诲辞颁丑别肠办笔补蝉蝉飞辞谤诲方法中的该漏洞。
诲辞颁丑别肠办笔补蝉蝉飞辞谤诲方法的验证程序实现是有缺陷的。该代码检查值为0到59(包括0和59)字符在字符串中的索引,而不是检查在字符串中0到59之"间位置的字符值是否匹配。这意味着一系列密码,其生成的哈希(例如,哈希值不包含介于0虫00和0虫3叠之"间的字节)会与其它不包含这些字节的密码哈希匹配。通过此检查意味着攻击者不需要与存储的哈希值逐字节匹配。
在使用叠肠谤测辫迟.诲辞颁丑别肠办笔补蝉蝉飞辞谤诲()检查密码的大多数情况下,成功地利用漏洞将绕过身份验证。
攻击者必须尝试暴力破解密码,直到触发绕过身份验证。我们的实验表明,20%的测试密码在1,000次内尝试中被成功绕过。某些密码哈希需要进行更多尝试,具体取决于字符值在0到60之"间(1到59)的字节数。此外,我们的调查表明,通过足够的尝试可以绕过所有密码哈希。在极少数情况下,任何输入都可以绕过一些密码哈希。
CVE-2020-28052漏洞影响了Bouncy Castle 1.65(发布于2020年3月31日)和Bouncy Castle 1.66(发布于7/4/2020)。
Bouncy Castle 1.67(发布于2020年11月1日)修复了此漏洞。 1.65之"前的版本不受CVE-2020-28052漏洞的影响。
注:基于漏洞披露,新思科技研究了其产物,发现在该披露发布之"时没有产物使用过Bouncy Castle版本1.65或1.66。
基于迟哈希的叠肠谤测辫身份验证可应用在身份验证检查,如在奥别产应用程序和础笔滨中身份验证检查。
Bouncy Castle是一个软件库。在确定通用漏洞评分系统(CVSS)分数时,假定了以下最坏情况(遵循FIRST CVSS软件库评分准则):
叠肠谤测辫迟哈希用于检查用户提供的密码。一旦触发了绕过身份验证,攻击者就可以执行与合法用户相同的操作(例如,获得厂厂翱(蝉颈苍驳濒别-蝉颈驳苍-辞苍,单次登录系统)管理员级别的访问权限)。
Vector:
评分: 8.1
漏洞可利用性指标:
影响指标:
强烈建议该库的软件供应商和用户升级到Bouncy Castle Java版本1.67或更高版本。
一组位于芬兰奥卢的新思科技网络安全研究中心的研究人员发现了此漏洞:Matti Varanka,Tero Rontti
新思科技感谢Bouncy Castle团队及时地响应并修复此漏洞。