Java SE でダミーの ECDSA 署名を生成する機能。 MySQL、VirtualBox、Solaris の脆弱性

オラクルは、重大な問題や脆弱性を排除することを目的とした、自社製品のアップデートの計画的リリース (Critical Patch Update) を公開しました。 520月のアップデートでは合計XNUMX件の脆弱性が修正された。

いくつかの問題:

  • 6 Java SE のセキュリティ問題。 すべての脆弱性は認証なしでリモートから悪用される可能性があり、信頼できないコードの実行を許可する環境に影響を与えます。 7.5 つの問題には重大度 18.0.1 が割り当てられています。 この脆弱性は Java SE 11.0.15、8、および 331uXNUMX リリースで解決されています。

    問題の 2022 つ (CVE-21449-XNUMX) により、生成時にゼロ曲線パラメータを使用して架空の ECDSA デジタル署名を生成できます (パラメータがゼロの場合、曲線は無限大になるため、ゼロ値は明示的に禁止されています)仕様)。 Java ライブラリは ECDSA パラメータの null 値をチェックしなかったため、null パラメータを含む署名を処理する場合、Java はすべての場合において署名が有効であるとみなしました。

    特に、この脆弱性を利用すると、Java で正しいものとして受け入れられる架空の TLS 証明書を生成したり、WebAuthn 経由の認証をバイパスして架空の JWT 署名や OIDC トークンを生成したりすることができます。 つまり、この脆弱性により、検証に標準の java.security.* クラスを使用する Java ハンドラーで受け入れられ、正しいものとして認識されるユニバーサル証明書と署名が生成される可能性があります。 この問題は Java ブランチ 15、16、17、および 18 で発生します。偽の証明書を生成する例が利用可能です。 jshell> import java.security.* jshell> var key = KeyPairGenerator.getInstance("EC").generateKeyPair() key ==> java.security.KeyPair@626b2d4a jshell> varblankSignature = new byte[64]blankSignature ==> byte[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 件の脆弱性があり、そのうち 7.5 件はリモートから悪用される可能性があります。 OpenSSL および protobuf の使用に関連する最も深刻な問題には、重大度レベル 8.0.29 が割り当てられます。 それほど深刻ではない脆弱性は、オプティマイザー、InnoDB、レプリケーション、PAM プラグイン、DDL、DML、FTS、およびログに影響を与えます。 この問題は、MySQL Community Server 5.7.38 および XNUMX リリースで解決されました。
  • VirtualBox に 5 件の脆弱性。 これらの問題には、7.5 ~ 3.8 の重大度レベルが割り当てられます (最も危険な脆弱性は Windows プラットフォームでのみ発生します)。 これらの脆弱性は、VirtualBox 6.1.34 アップデートで修正されています。
  • Solaris に 6 件の脆弱性。 この問題はカーネルとユーティリティに影響します。 公益事業における最も深刻な問題には、危険レベル 8.2 が割り当てられています。 これらの脆弱性は、Solaris 11.4 SRU44 アップデートで解決されています。

出所: オープンネット.ru

コメントを追加します