目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1325

100%

CWE-328 可逆的单向哈希 类漏洞列表 68

CWE-328 可逆的单向哈希 类弱点 68 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-328 指使用弱哈希算法的漏洞,此类算法生成的摘要无法抵御预像、第二预像或生日攻击,导致攻击者能逆向推导原始输入或构造碰撞数据。攻击者常借此伪造数据完整性或破解密码存储。开发者应摒弃 MD5、SHA-1 等弱算法,改用 SHA-256 或 SHA-3 等强哈希函数,并结合加盐技术,以确保数据不可逆性和抗碰撞能力,从而有效防范此类安全风险。

MITRE CWE 官方描述
CWE:CWE-328 使用弱哈希算法 英文:该产品使用了一种算法,该算法生成的摘要(digest,输出值)无法满足哈希函数(hash function)的安全预期,导致攻击者能够合理地确定原始输入(preimage attack,原像攻击),找到另一个能产生相同哈希值的输入(2nd preimage attack,第二原像攻击),或找到多个能计算出相同哈希值的输入(birthday attack,生日攻击)。 哈希函数被定义为一种将任意大小数据映射为固定大小摘要(digest,输出)的算法,且满足以下属性:该算法不可逆(也称为“单向”或“不可还原”);该算法是确定性的,即相同的输入每次都会产生相同的摘要。在此基础上,密码学哈希函数还必须确保恶意行为者无法利用该哈希函数以合理的成功率确定以下任何一项:给定仅摘要,确定原始输入(preimage attack,原像攻击);给定原始输入,找到另一个能产生相同摘要的输入(2nd preimage attack,第二原像攻击);给定行为者可以任意选择要哈希的输入并能进行合理次数的操作,找到一组两个或更多个能计算出相同摘要的输入(birthday attack,生日攻击)。 “合理”的定义因上下文和威胁模型而异,但一般而言,“合理”可能涵盖任何比暴力破解(brute force,即平均尝试所有可能组合的一半)更高效的攻击。需要注意的是,某些攻击可能比暴力破解更高效,但在现实世界中仍被视为不可行。任何不满足上述条件的算法,通常都被认为在通用哈希场景中是脆弱的。除了算法本身的弱点外,哈希函数还可能因在破坏其安全保证的安全上下文中使用而变得脆弱。例如,在不使用盐(salt)的情况下使用哈希函数存储密码(如果密码足够短),可能使攻击者能够创建“彩虹表”(rainbow table [REF-637]),在特定条件下恢复密码;此类攻击针对的是 MD5、SHA-1 和 SHA-2 等哈希函数。
常见影响 (1)
Access ControlBypass Protection Mechanism
缓解措施 (1)
Architecture and DesignUse an adaptive hash function that can be configured to change the amount of computational effort needed to compute the hash, such as the number of iterations ("stretching") or the amount of memory required. Some hash functions perform salting automatically. These functions can significantly increase the overhead for a brute force attack compared to intentionally-fast functions such as MD5. For ex…
Effectiveness: High
代码示例 (2)
In both of these examples, a user is logged in if their given password matches a stored password:
unsigned char *check_passwd(char *plaintext) { ctext = simple_digest("sha1",plaintext,strlen(plaintext), ... ); //Login if hash matches stored hash if (equal(ctext, secret_password())) { login_user(); } }
Bad · C
String plainText = new String(plainTextIn); MessageDigest encer = MessageDigest.getInstance("SHA"); encer.update(plainTextIn); byte[] digest = password.digest(); //Login if hash matches stored hash if (equal(digest,secret_password())) { login_user(); }
Bad · Java
In 2022, the OT:ICEFALL study examined products by 10 different Operational Technology (OT) vendors. The researchers reported 56 vulnerabilities and said that the products were "insecure by design" [REF-1283]. If exploited, these vulnerabilities often allowed adversaries to change how the products operated, ranging from denial of service to changing the code that the products executed. Since these…
CVE ID标题CVSS风险等级Published
CVE-2023-46233 crypto-js 加密问题漏洞 — crypto-js 9.1 Critical2023-10-25
CVE-2023-46133 CryptoES 安全漏洞 — crypto-es 9.1 Critical2023-10-25
CVE-2023-2900 NFine Rapid Development Platform 加密问题漏洞 — Rapid Development Platform 3.7 Low2023-05-25
CVE-2022-45141 Samba 加密问题漏洞 — Samba 8.8 -2023-03-06
CVE-2023-0452 Econolite EOS traffic control software 加密问题漏洞 — EOS 9.8 Critical2023-01-26
CVE-2022-3433 aeson 加密问题漏洞 — aeson 6.5 -2022-10-10
CVE-2022-29835 Western Digital WD Discovery 加密问题漏洞 — WD Discovery 5.3 Medium2022-09-19
CVE-2019-13539 Medtronic Valleylab FT10 输入验证错误漏洞 — Valleylab Exchange Client 7.0 High2019-11-08

CWE-328(可逆的单向哈希) 是常见的弱点类别,本平台收录该类弱点关联的 68 条 CVE 漏洞。