Microsoftが6月13日(現地時間)、月例更新プログラムとしてWindows 11用のKB5027231や、Windows 10用のKB5027215を公開しました。更新プログラムはセキュリティの問題やその他の不具合を修正するためのものですが、Windows 11ではMalwarebytesなどのアンチウイルス製品が存在する環境でChromeが開けなくなるという問題や、Windows 10では更新プログラムがインストールできない等の問題が報告されています。
6月13日には、.NET Frameworkランタイムの更新プログラムも公開されていて、この更新プログラムをインストールすると、X.509証明書をインポートする際に問題(CryptographicException)が発生する可能性があるとのこと。この問題を軽減するためのサポートドキュメントおよび定例外の更新プログラムが公開されています。
Microsoftは問題の症状を次のように説明しています。
When using the X509Certificate, X509Certificate2, or X509Certificate2Collection class to import a PKCS#12 blob containing a private key, the calling application may observe the below exception.
X509Certificate、X509Certificate2、または X509Certificate2Collection クラスを使用して、秘密鍵を含む PKCS#12 blob をインポートすると、呼び出したアプリケーションで以下の例外が発生することがあります。
System.Security.Cryptography.CryptographicException: PKCS12 (PFX) without a supplied password has exceeded maximum allowed iterations. See https://go.microsoft.com/fwlink/?linkid=2233907 for more information.
System.Security.Cryptography.CryptographicException: パスワードが指定されていない PKCS12 (PFX) が、許容される最大反復回数を超えました。詳細は https://go.microsoft.com/fwlink/?linkid=2233907 を参照。
This failure affects PKCS#12 blobs which have been exported [e.g., via X509Certificate.Export(X509ContentType.Pfx)] without a password. The failure may occur non-deterministically.
この失敗は、パスワードなしで[例えば、X509Certificate.Export(X509ContentType.Pfx)によって]エクスポートされたPKCS#12 blobに影響する。この失敗は非決定的に発生する可能性があります。
Microsoftは、この問題に対処するために、.NET Frameworkと.NETの更新インストーラーをリリースしています。これらのインストーラーは、影響を受けるマシンが2023年6月13日の.NET Frameworkおよび.NETのセキュリティ更新プログラムを適用済みであるかどうかに関係なく、適用することができます。
問題を回避するため「KB5025823 Change in how .NET applications import X.509 certificates」で説明されているレジストリスイッチを使用していた場合、新しいパッチをインストールする前にレジストリスイッチを削除しておく必要があります。これは管理者権限のコマンドプロンプトで以下を実行します。
reg delete"HKLMSoftware" /v Pkcs12UnspecifiedPasswordIterationLimit/reg:32 reg delete"HKLM゠Software゠Microsoft゠.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit/reg:64
更新プログラムは、Microsoft Update CatalogからKB番号で検索することでダウンロードすることができ、番号およびリンクはこちらで確認可能です。