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 發現年度加密漏洞,15/16/17/18 版本使用者需儘快修復!Java加密
- Log4J 2.16.0版本又爆新漏洞
- Java的Fastjson庫爆高嚴重性RCE漏洞JavaASTJSON
- Sharding-JDBC使用jasypt3.0及以上版本加密資料庫連線密碼JDBC加密資料庫密碼
- 【漏洞預警】Cisco 最新公佈24個高危以上漏洞
- Kubernetes 爆發嚴重漏洞:可能影響所有開源版本,請儘快升級
- AES加密 Pkcs7 (BCB模式) java後端版本與JS版本對接加密模式Java後端JS
- 是什麼妨礙了人們升級到Java 8以上版本? - RedditJava
- mysql 8.0.11 以上版本修改root密碼MySql密碼
- PHPExcel 在 PHP7.0 以上版本報錯PHPExcel
- PHP7 以上版本 使用 xdebug 踩坑PHP
- CISA 在其已知利用漏洞目錄中新增15個新漏洞
- [20190107]12c以上版本配置dg注意.txt
- Go Module 如何釋出 v2 以上版本Go
- PHP 5.3以上版本推薦使用mysqlnd驅動PHPMySql
- SpringBoot2.6.x及以上版本整合swagger文件Spring BootSwagger
- 魅族15/15 Plus/M15區別對比 魅族15有幾個版本?
- 【漏洞】OA辦公系統“烽火狼煙”,高危漏洞攻擊爆發
- 警惕!繼Apache Log4j2漏洞後,Logback又爆新漏洞Apache
- CVE-2021-44521:Apache Cassandra爆發RCE漏洞Apache
- Go module 如何釋出 v2 及以上版本?Go
- Java - 15 作用域Java
- Spring框架再爆漏洞:資料繫結規則漏洞CVE-2022-22968Spring框架
- 15. mac安裝多版本jdkMacJDK
- 【JAVA-WEB常見漏洞-XSS漏洞】JavaWeb
- Java加密與安全Java加密
- Java加密之IVJava加密
- SRG:2023年Q2 CPaaS市場同比增長15%以上
- 分享一個年化15%以上的無風險套利機會
- [20230308]12c以上版本模糊查詢問題.txt
- openssl 證書生成筆記(go 1.15版本以上)筆記Go
- Android8.0以上版本啟動後臺service報IllegalStateExceptionAndroidException
- 1046 划拳 (15 分)javaJava
- Codeigniter 利用加密Key(金鑰)的物件注入漏洞加密物件
- 靜態加密:存在代理混淆的安全漏洞加密
- Chrome瀏覽器爆高嚴重性安全漏洞Chrome瀏覽器
- Excelize 釋出 2.6.1 版本,支援工作簿加密Excelize加密
- Spring 4.2.2以上版本和swagger整合方案和踩過的坑SpringSwagger