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

注: 

  • この記事は 2023 年 1 月 31 日に改訂され、解決策が追加されました。

  • この記事は 2023 年 1 月 9 日に改訂され、「現象」セクションが拡充され、「よくある質問」セクションが追加されました。

  • この記事は 2022 年 12 月 15 日に改訂され、回避策が追加されました。

概要

この記事では、2022 年 12 月 13 日の .NET Framework および .NET のセキュリティ更新プログラムをインストールした後に、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

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

この回避策を削除して強化されたセキュリティ動作に戻すには、管理者特権でのコマンド プロンプトから次のコマンドを実行します。 reg delete "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f

この設定はセキュリティ強化の機能をシステム全体で無効化するので、システムに入力される XPS ファイルが全て完全に信頼できる場合にのみ利用してください。

解決方法

この問題は、2023 年 1 月 31 日にリリースされた帯域外更新プログラムで解決されました。 これらの帯域外更新プログラムのスタンドアロン パッケージを入手するには、Microsoft Update カタログで KB 番号を検索してください。 これらの更新プログラムは、Windows Server Update Services (WSUS) および Microsoft Endpoint Configuration Manager に手動でインポートできます。 WSUS の手順については、WSUS とカタログ サイトを参照してください。 Configuration Manager の手順については、Microsoft Update カタログから更新プログラムをインポートするを参照してください。

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

製品バージョン

更新プログラム

Windows 11 Version 22H2

.NET Framework 4.8.1

カタログ

5023327

Windows 11 Version 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 Version 22H2

.NET Framework 4.8

カタログ

5023324

Azure Stack HCI Version 21H2

.NET Framework 4.8

カタログ

5023324

Windows 10 Version 22H2

カタログ

5023366

.NET Framework 4.8

カタログ

5023322

.NET Framework 4.8.1

カタログ

5023319

Windows 10 Version 21H2

カタログ

5023365

.NET Framework 4.8

カタログ

5023322

.NET Framework 4.8.1

カタログ

5023319

Windows 10 Version 20H2

カタログ

5023364

.NET Framework 4.8

カタログ

5023322

.NET Framework 4.8.1

カタログ

5023319

Windows 10 1809 (October 2018 Update) および 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

影響を受けるアップデート

次の .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 デスクトップ ランタイム バージョン 3.1.32 の場合)。

  • .NET 6 (Windows デスクトップ ランタイム バージョン 6.0.12 以降 の場合)。

  • .NET 7 (Windows デスクトップ ランタイム バージョン 7.0.1 以降 の場合)。

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

よくある質問

このリグレッションはいつから発生していますか。

このリグレッションは .NET および .NET Framework の 2022 年 12 月 13 日の累積的なセキュリティ更新プログラムによって発生します。

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

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

管理者がレジストリ ベースの代替回避策を使用する場合、コンピューターは脆弱なままになりますか。

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

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

互換性の問題に対処するためにマイクロソフトは何をしていますか。

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

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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。