Java 15以上版本爆加密漏洞:CVE-2022-21449
如果您的伺服器在2022 年 4 月重要補丁更新 (CPU)之前執行任何 Java 15、16、17 或 18 版本,且使用ECDSA 簽名加密:SSL 證照和握手(允許攔截和修改通訊)、簽名的 JWT 、SAML 斷言或OIDC id 令牌,甚至是WebAuthn身份驗證訊息,那麼,攻擊者可以輕鬆偽造攻陷。
現實世界中幾乎所有的 WebAuthn/FIDO 裝置(包括 Yubikeys *)都使用 ECDSA 簽名,許多 OIDC 提供商使用 ECDSA 簽名的 JWT。
如果您在生產環境中部署了 Java 15、Java 16、Java 17 或 Java 18,那麼您應該停止正在執行的操作並立即更新以安裝2022 年 4 月重要補丁更新中的修復程式。
更新:Oracle 的官方公告還列出了 Java 舊版本也可能受到影響,包括 7、8 和 11。
在同一個 CPU 中還報告了其他安全漏洞,因此(一如既往)即使您執行的是較舊的 Java 版本,也值得升級。另一方面,OpenJDK公告僅列出了受此特定問題 (CVE-2022-21449) 影響的版本 15、17 和 18。、
Oracle 對此的 CVSS 評分為 7.5,對機密性或可用性沒有影響, ForgeRock 將其評為完美 10.0 。
背景:ECDSA 簽名
ECDSA 代表Elliptic Curve Digital Signature Algorithm,它是一種廣泛使用的標準,用於簽署各種數字文件。與舊的 RSA 標準相比,橢圓曲線金鑰和簽名往往要小得多,以實現同等安全性,因此它們被廣泛用於大小非常寶貴的情況。例如,用於兩因素身份驗證的 WebAuthn 標準允許裝置製造商從廣泛的簽名演算法中進行選擇,但實際上,迄今為止製造的幾乎所有裝置都僅支援 ECDSA 簽名(一個值得注意的例外是使用 RSA 的 Windows Hello簽名;大概是為了與舊的TPM硬體相容)。
為什麼現在才發現?
您可能想知道為什麼在 Java 長期以來一直支援 ECDSA 的情況下這才被曝光。它一直很脆弱嗎?
不,這是一個相對較新的錯誤,是通過將 EC 程式碼從本機 C++ 程式碼重寫為 Java 引入的,這發生在 Java 15 版本中。
儘管這種重寫在記憶體安全性和可維護性方面有好處,但似乎經驗豐富的密碼工程師並未參與實施。
最初的 C++ 實現不容易受到這些錯誤的影響,但重寫卻是。兩種實現似乎都沒有很好的測試覆蓋率,即使是對 ECDSA 規範的最粗略閱讀也肯定會建議測試無效的 r 和 s 值被拒絕。
時間線
- 2021 年 11 月 11 日– 發現問題並向 OpenJDK 漏洞報告電子郵件地址披露。
- 2021年11月 11 日– 確定了在 Java 15 中引入錯誤的JDK 更改。
- 2021 年 11 月 12 日——甲骨文的初步確認。
- 2021 年 11 月 18 日– Oracle 確認了該錯誤並表示將在未來的重要補丁更新 (CPU) 中對其進行修補。它被分配了跟蹤 ID S1559193。
- 2021 年 11 月 18 日– ForgeRock釋出安全公告,通知我們的客戶不要將受影響的 Java 版本部署到生產環境中。
- 2022 年 1 月 14 日– 向 Oracle 詢問狀態更新。告知該修復程式針對 2022 年 4 月的 CPU,計劃於 4 月 19 日釋出。
- 2022 年 3 月 25 日– 再次與 Oracle 確認修復將在 4 月 CPU 中進行。通知他們,如果到那時該錯誤仍未修復,ForgeRock 將繼續進行全面披露。
- 2022 年 4 月 19 日– 甲骨文在 4 月 CPU 中釋出了修復程式。
- 2022 年 4 月 19 日——文章發表。
相關文章
- Java又爆致命漏洞Java
- Java 發現年度加密漏洞,15/16/17/18 版本使用者需儘快修復!Java加密
- Java 7.x爆高危漏洞Java
- Log4J 2.16.0版本又爆新漏洞
- openssl 證書生成筆記(go 1.15版本以上)筆記Go
- Java的Fastjson庫爆高嚴重性RCE漏洞JavaASTJSON
- Java 7爆最新漏洞,10年前的攻擊手法仍有效Java
- Spring框架爆安全漏洞Spring框架
- Sharding-JDBC使用jasypt3.0及以上版本加密資料庫連線密碼JDBC加密資料庫密碼
- iOS真機除錯步驟(Xcode8.0以上版本)(2015年)iOS除錯XCode
- AES加密 Pkcs7 (BCB模式) java後端版本與JS版本對接加密模式Java後端JS
- Kubernetes 爆發嚴重漏洞:可能影響所有開源版本,請儘快升級
- 是什麼妨礙了人們升級到Java 8以上版本? - RedditJava
- Rails框架再爆嚴重安全漏洞AI框架
- Rails 3爆SQL隱碼攻擊漏洞AISQL
- mysql 8.0.11 以上版本修改root密碼MySql密碼
- PHPExcel 在 PHP7.0 以上版本報錯PHPExcel
- 【漏洞】OA辦公系統“烽火狼煙”,高危漏洞攻擊爆發
- 在 Linux 8.0版本及8.0 以上版本配置snmp代理Linux
- PHP7 以上版本 使用 xdebug 踩坑PHP
- Go Module 如何釋出 v2 以上版本Go
- PHP 5.3以上版本推薦使用mysqlnd驅動PHPMySql
- oracle 10g以上版本,awr報告使用Oracle 10g
- ImageMagick爆0day漏洞全球伺服器遭殃伺服器
- 三星智慧手機又爆安全漏洞
- Go module 如何釋出 v2 及以上版本?Go
- 【Java】SHA加密Java加密
- Java加密解密Java加密解密
- [20211115]12c以上版本Last Login Time 引發的故障.txtAST
- Chrome瀏覽器爆高嚴重性安全漏洞Chrome瀏覽器
- 各位大佬求指教安卓 7 以上版本怎麼抓包安卓
- linux下編譯安裝mysql5.5以上版本Linux編譯MySql
- Java加密與安全Java加密
- Java加密之IVJava加密
- 靜態加密:存在代理混淆的安全漏洞加密
- 【JAVA-WEB常見漏洞-XSS漏洞】JavaWeb
- 5 月,Java 崗位爆了???Java
- Chrome 隱私模式爆漏洞,使用者無處隱身Chrome模式