近日,安全研究员KhaledNassar在GitHub上公布了一个新披露的Java数字签名绕过漏洞的PoC代码,编号为CVE-2022-21449。据了解,该漏洞是安全咨询公司ForgeRock的研究员NeilMadden于去年11月发现的,甲骨文公司(Oracle)在同一天被告知了这一情况。尽管甲骨文给该漏洞的CVSS评分仅为7.5,但ForgeRock表示,他们在首次发现该漏洞时私下披露了该漏洞并将其CVSS评分为10。Madden解释说,“很难夸大此漏洞的严重性。如果ECDSA签名与这些安全机制(SSL、JWT、WebAuthn)中的任何一个一起使用,并且您的服务器在2022年4月的重要补丁更新(CPU)上运行Java15、16、17或18版本,攻击者可以轻松地完全绕过它们.现实世界中几乎所有的WebAuthn/FIDO设备(包括Yubikey)都使用ECDSA签名,许多OIDC提供商使用ECDSA签名的JWT。此外,信息安全专家ThomasPtacek将该漏洞描述为“年度加密漏洞”。该漏洞被称为PsychicSignatures,与Java实现椭圆曲线数字签名算法(ECDSA)相关,存在于Java15、16、17和18版本中。这是一种加密机制,用于对消息和数据进行数字签名以验证内容的真实性,攻击者可以利用此漏洞伪造TSL签名并绕过身份验证措施。Nassar证明,设置恶意TLS服务器可以诱使客户端接受来自服务器的无效签名,从而有效地允许TLS的其余部分继续进行.该漏洞影响以下版本的JavaSE和OracleGraalVM企业版:OracleJavaSE:7u331、8u321、11.0.14、17.0.2、18OracleGraalVM企业版:20.3.5、21.3.1、22.0.0.2目前,Oracle已在重要补丁更新公告中修复该漏洞,敬请使用Java15、16、17、18的开发者或企业尽快更新。
