KB5022083 WPF ベースのアプリケーションで XPS ドキュメントをレンダリングする方法の変更

リリース日:
2022 年 12 月 13 日

  • この記事は、代替の回避策レジストリ キーを更新するために、2023 年 5 月 19 日に改訂されました。
  • この記事は、解決を更新するために 2023 年 2 月 17 日に改訂されました。
  • この記事は、解決を追加するために 2023 年 1 月 31 日に改訂されました。
  • この記事は 2023 年 1 月 9 日に修正され、症状を拡張して FAQ セクションを追加しました。
  • この記事は、追加の回避策を追加するために、2022 年 12 月 15 日に改訂されました。

概要

この記事では、2022 年 12 月 13 日または 2023 年 2 月 14 日のセキュリティ更新プログラムまたは 2023 年 1 月 19 日の更新プログラムをインストールした後、.NET Framework ユーザーが WPF ベースのアプリケーションで XPS ドキュメントをレンダリングする方法に関する問題が発生する可能性がある場合の問題を軽減するためのヘルプを提供します。

現象

テーブル構造、ストーリーボード、ハイパーリンクなどの構造要素またはセマンティック要素を利用する XPS ドキュメントは、WPF ベースのリーダーで正しく表示されない場合があります。 さらに、一部のインライン イメージが正しく表示されない場合や、XPS ドキュメントが WPF ベースのリーダーに読み込まれるときに Null 参照例外が発生する可能性があります。

回避策

Microsoft では、この問題の互換性の回避策を特定し、これを解決するための PowerShell スクリプトを作成しました。

互換性の回避策をインストールするには、次の手順に従います。

  1. PowerShell スクリプトをダウンロードする
  2. 管理者として PowerShell プロンプトを開く
  3. プロンプト内で、スクリプトがダウンロードされたディレクトリに移動します
  4. プロンプト内で コマンドを実行します : .\kb5022083-compat.ps1 -Install

コマンドが成功すると、コンソール ウィンドウに "インストールが完了しました" と出力されます。 コマンドが失敗すると、失敗の理由が表示されます。 互換性の回避策を削除するには、上記と同じ手順に従いますが、上記の手順 (4) を .\kb5022083-compat.ps1 -Uninstall に置き換えます。

互換性の回避策がインストールされたら、XPS ドキュメントを表示する WPF ベースのアプリケーションは、2022 年 12 月 13 日のセキュリティ更新プログラムの前と同様に機能し続ける必要があります。

代替回避策

最初の回避策で問題が解決しない場合は、レジストリ エントリを使用して強化されたセキュリティ動作を無効にすることができます。 これは、システム プロセスが信頼できるすべての XPS ドキュメント (たとえば、システムにアップロードされるのではなく、システムによって生成され、誰も変更できないこと) がわかっている場合にのみ行う必要があります。 インターネット、外部エンティティからの電子メール、またはその他の信頼できないソースからの XPS ドキュメントを受け入れる場合は、この機能をオフにしないでください。

拡張セキュリティ動作を無効にするには、管理者特権のコマンド プロンプトから次のコマンドを実行します。

  • reg add "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /v "DisableDec2022Patch" /t REG_SZ /d "*" /reg:64
  • reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /v "DisableDec2022Patch" /t REG_SZ /d "*" /reg:64

または、グループ ポリシーを使用して、キー名が HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes、値名が DisableDec2022Patch、値が のREG_SZエントリを作成することもできます。*

これらの回避策のいずれかを削除し、強化されたセキュリティ動作を返すには、管理者特権のコマンド プロンプトから次のコマンドを実行します。

  • reg delete "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f
  • reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f

これにより、コンピューター全体の拡張機能が無効になり、システムへのすべての XPS 入力を完全に信頼できる場合にのみ使用する必要があります。

Resolution

この問題は、2023 年 1 月 31 日にリリースされた、Windows 10 バージョン 1607 および Windows Server 2016 バージョンおよび新しいオペレーティング システムおよび 2023 年 2 月 17 日にリリースされたアウトオブバンド更新プログラム (以前の Windows および Windows Server バージョン) で解決されました。 これらの帯域外更新プログラムのスタンドアロン パッケージを取得するには、 Microsoft Update カタログで KB 番号を検索します。 これらの更新プログラムは、Windows Server Update Services (WSUS) と Microsoft Endpoint Configuration Manager に手動でインポートできます。 WSUS の手順については、「 WSUS とカタログ サイト」を参照してください。 構成マネージャーの手順については、「 Microsoft Update カタログから更新プログラムをインポートする」を参照してください。

この問題の回避策または軽減策を使用した場合、それらは不要になったため、削除することをお勧めします。 回避策を削除するには、手順に適用された回避策または別の回避策を確認してください。

Product Version 更新
Windows 11、 バージョン 22H2
.NET Framework 4.8.1 カタログ 5023327
Windows 11 バージョン 21H2 カタログ 5023367
.NET Framework 4.8 カタログ 5023323
.NET Framework 4.8.1 カタログ 5023320
Windows Server 2022 カタログ 5023368
.NET Framework 4.8 カタログ 5023324
.NET Framework 4.8.1 カタログ 5023321
Azure Stack HCI (バージョン 22H2)
.NET Framework 4.8 カタログ 5023324
Azure Stack HCI、バージョン 21H2
.NET Framework 4.8 カタログ 5023324
Windows 10 バージョン 22H2 カタログ 5023366
.NET Framework 4.8 カタログ 5023322
.NET Framework 4.8.1 カタログ 5023319
Windows 10 バージョン 21H2 カタログ 5023365
.NET Framework 4.8 カタログ 5023322
.NET Framework 4.8.1 カタログ 5023319
Windows 10 バージョン 20H2 カタログ 5023364
.NET Framework 4.8 カタログ 5023322
.NET Framework 4.8.1 カタログ 5023319
Windows 10 1809 (2018 年 10 月の更新プログラム) と Windows Server 2019 カタログ 5023363
.NET Framework 4.7.2 カタログ 5023333
.NET Framework 4.8 カタログ 5023326
Windows 10 1607 (Anniversary Update) と Windows Server 2016 カタログ 5023416
.NET Framework 4.7.2 カタログ 5023332
.NET Framework 4.8 カタログ 5023325
Windows Embedded 8.1 および Windows Server 2012 R2
.NET Framework 4.6.2、4.7、4.7.1、4.7.2 カタログ 5023819
.NET Framework 4.8 カタログ 5023822
Windows Embedded 8 と Windows Server 2012
.NET Framework 4.6.2、4.7、4.7.1、4.7.2 カタログ 5023818
.NET Framework 4.8 カタログ 5023821
Windows Embedded 7 Standard および Windows Server 2008 R2 SP1
.NET Framework 4.6.2、4.7、4.7.1、4.7.2 カタログ 5023820
.NET Framework 4.8 カタログ 5023823
Windows Server 2008 SP2
.NET Framework 4.6.2 カタログ 5023820

影響を受ける更新プログラム

次の .NET バージョンが影響を受ける:

  • .NET Framework 2.0、3.0、3.5、3.5.1、2022 年 12 月 13 日にセキュリティ更新プログラムがインストールされます。
  • .NET Framework 4.6.2、4.7、4.7.1、4.7.2、2022 年 12 月 13 日にセキュリティ更新プログラムがインストールされます。
  • .NET Framework 4.8 では、2022 年 12 月 13 日にセキュリティ更新プログラムがインストールされます。
  • .NET Framework 4.8.1、2022 年 12 月 13 日にセキュリティ更新プログラムがインストールされます。
  • .NET Core 3.1、Windows Desktop ランタイム バージョン 3.1.32。
  • Windows Desktop ランタイム バージョン 6.0.12 以降の .NET 6。
  • Windows Desktop ランタイム バージョン 7.0.1 以降の .NET 7。

Windows オペレーティング システム内で提供される Windows XPS ビューアー アプリケーションは、この問題の影響を受けません。

よく寄せられる質問 (FAQ)

この回帰はいつ導入されましたか?

この回帰は、2022 年 12 月 13 日、.NET と.NET Frameworkの累積的なセキュリティ更新プログラムで導入されました。

この記事で提供されている PowerShell スクリプトを管理者がインストールした場合、コンピューターは脆弱なままになりますか?

いいえ。 PowerShell スクリプトは互換性にのみ対処します。 2022 年 12 月 13 日のセキュリティ更新プログラムを無効にしたり、その有効性を低下させたりすることはありません。

管理者がレジストリベースの代替回避策を利用している場合、マシンは脆弱なままになりますか?

はい。 上記の別の回避策では、2022 年 12 月 13 日のセキュリティ修正プログラムの WPF 部分が無効になります。 管理者が別の回避策を利用する場合は、ワークステーション上の信頼されていないソースから XPS ドキュメントを開かないようにユーザーに指示する必要があります。

このガイダンスは、XPS ドキュメントを読み込む WPF ベースのアプリケーションにのみ適用されます。 ユーザーは、Windows の組み込みの XPS ビューアー アプリケーションを引き続き使用して、代替のレジストリ ベースの回避策を利用するマシンでも、信頼されていない XPS ドキュメントを安全に表示できます。

互換性の問題に対処するために Microsoft は何をしていますか?

この問題は、2023 年 1 月 31 日にリリースされた帯域外更新プログラムの.NET Frameworkの一部のバージョンで解決されました。 対処されていない.NET Frameworkのバージョンの場合、Microsoft は、互換性を復元しながら、基になるセキュリティの問題を解決する追加の更新プログラムを積極的に調査しています。

保護とセキュリティに関する情報