Java 爆出 "年度加密漏洞"!网友:又多了坚持 Java 8 的理由。。
文 | Travis
出品 | OSC开源社区(ID:oschina2013)
甲骨文于推送了安全更新修复了一个漏洞,该漏洞允许攻击者伪造某些种类的 SSL 证书和握手、双因素认证信息,以及由一系列广泛使用的开放标准产生的授权凭证。 这使得攻击者可以轻松地对文件和其他数据进行数字签名。
该漏洞影响了 Java 15 及以上版本中对 ECDSA(椭圆曲线数字签名算法)的实现。
ECDSA 是一种利用椭圆曲线密码学原理对信息进行数字认证的算法。与 RSA 或其他加密算法相比,ECDSA 的一个关键优势是它生成的密钥较小,非常适合用于包括基于 FIDO 的 2FA、SMAL 和 OpenID 等标准。 这个漏洞的 CVE ID 为 CVE-2022-21449,最初是由 ForgeRock 安全研究员 Neil Madden 所发现的,他在漏洞说明中写道: 如果你在这些安全机制中使用 ECDSA 签名,并且如果你的服务器在 2022 年 4 月关键补丁更新(CPU)之前运行任何 Java 15、16、17 或 18 版本,攻击者就可以轻而易举地完全绕过它们。
如今几乎所有的 WebAuthn/FIDO 设备(包括 Yubikeys)都使用 ECDSA 签名,许多 OIDC 提供商也在使用 ECDSA 签名的 JWT。
Madden 指出,上述这些受影响的 Java 版本主要是因为它们未能检查 ECDSA 中的两个关键变量,以确保它们是非零的。
这是因为如果值都是 0,等式两边将始终相等,签名也就一直有效。这意味着只需提交一个空白签名即可成功通过验证检查。
除了 Madden 认为该漏洞十分严重,另一位安全专家 Thomas Ptacek 更是将该漏洞评为 “年度加密漏洞”(crypto bug of the year)。
目前 Java 15 及以上版本并没有像 Java 早期版本那样被开发者广泛使用。安全公司 Snyk 在 2021 年统计的数据显示,当时 Java 15 仅占了 12% 的份额。
因为此“年度加密漏洞”仅影响 Java 15 及以上版本,所以有网友表示:又有一个坚持Java 8的理由了!
· END ·
热门推荐:
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看
评论