Java 發現年度加密漏洞,15/16/17/18 版本使用者需儘快修復!

snakesss發表於2022-05-02

近日,安全研究員 Khaled Nassar 在 GitHub 上公開了 Java 中新披露的數字簽名繞過漏洞的 PoC 程式碼,其被追蹤為CVE-2022-21449。

據瞭解,該漏洞由安全諮詢公司 ForgeRock 研究員 Neil Madden 於去年 11 月發現,並於當天就將此情況通知了甲骨文(Oracle)。

儘管甲骨文給這個漏洞的 CVSS 評分只有 7.5,但 ForgeRock 表示,在這個漏洞被發現之初,他們已經私下披露了該漏洞,並將該漏洞的 CVSS 評為 10 分。

Madden 對此解釋稱,“很難誇大這個漏洞的嚴重性。如果將 ECDSA 簽名用於這些安全機制(SSL、JWT、WebAuthn)中的任何一個,並且你的伺服器在 2022 年 4 月重要補丁更新 (CPU)之前執行的是 Java 15、16、17 或 18 版本,攻擊者就可以輕而易舉地完全繞過它們。現實世界中幾乎所有的 WebAuthn/FIDO 裝置(包括 Yubikey)都使用 ECDSA 簽名,許多 OIDC 提供商使用 ECDSA 簽名的 JWT。”

此外,資訊保安專家 Thomas Ptacek 已經將該漏洞描述為“年度加密漏洞”。

該漏洞被稱為 Psychic Signatures,與 Java 對橢圓曲線數字簽名演算法(ECDSA)的實現有關,存在於 Java 15、16、17、18 版本中。這是一種加密機制,用於對訊息和資料進行數字簽名,以驗證內容的真實性,攻擊者可利用此漏洞偽造 TSL 簽名並繞過身份驗證措施。

Nassar 證明稱,設定惡意 TLS 伺服器可以欺騙客戶端接受來自伺服器的無效簽名,從而有效地允許 TLS 的其餘部分繼續進行。

該漏洞會影響以下版本的Java SE和Oracle GraalVM Enterprise Edition:

  • Oracle Java SE:7u331, 8u321, 11.0.14, 17.0.2, 18
  • Oracle GraalVM 企業版:20.3.5, 21.3.1, 22.0.0.2

目前,甲骨文已經在重要補丁更新公告中修復了此次的漏洞,並呼籲使用 Java 15、16、17、18 的開發者或企業儘快更新。

相關文章