注意
發行日期:
2022 年 12 月 13 日
注意
- 本文於 2023 年 5 月 19 日修訂,以更新替代的繞過登錄檔金鑰。
- 本文於2023年2月17日修訂,以更新決議。
- 本文於2023年1月31日修訂,新增一項決議。
- 本文於2023年1月9日修訂,擴充症狀並新增常見問題部分。
- 本文於2022年12月15日修訂,新增一項額外的變通方法。
摘要
本文提供協助,協助在安裝 2022 年 12 月 13 日或 2023 年 2 月 14 日的安全更新,或 2023 年 1 月 19 日的 .NET Framework 與 .NET 更新後,使用者可能會遇到基於 WPF 的應用程式呈現 XPS 文件時出現的問題。
徵兆
使用結構性或語意元素如表格結構、故事板或超連結的 XPS 文件,可能無法在基於 WPF 的閱讀器中正確顯示。 此外,部分內嵌影像可能無法正確顯示,或在將 XPS 文件載入基於 WPF 的閱讀器時,可能會發生 Null 引用異常。
因應措施
Microsoft 找到了一個相容性解決方法,並製作了 PowerShell 腳本來解決這個問題。
要安裝相容性替代方案,請依照以下步驟操作。
- 下載 PowerShell 腳本
- 以管理員身份開啟 PowerShell 提示
- 在提示中,導覽到下載腳本的目錄
- 在提示字元執行指令: .\kb5022083-compat.ps1 -安裝
如果指令成功,會在主控台視窗列印「安裝完成」。 如果指令失敗,系統會顯示失敗原因。 要移除相容性解決方法,請依照上述步驟操作,但將上述步驟 (4) 替換成: .\kb5022083-compat.ps1 -卸載
一旦安裝相容性權宜之而為,顯示 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
或者,你也可以使用 群組原則 建立一個REG_SZ條目,鍵名HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes為 、值名稱DisableDec2022Patch為 ,以及值為*
要移除上述任何一個變通方法並恢復增強的安全行為,請從升高的命令提示字元執行以下命令 () (s) :
- 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 輸入系統時才應該使用。
解決方法
此問題於 2023 年 1 月 31 日發布的帶外更新中得到修正,該更新適用於 Windows 10、版本 1607 及 Windows Server 2016 版本,以及更新作業系統,以及於 2023 年 2 月 17 日釋出的帶外更新,針對較早期的 Windows 和 Windows Server 版本。 要取得這些頻帶外更新的獨立套件,請在 Microsoft 更新目錄中搜尋 KB 編號。 您可以手動將這些更新匯入 Windows Server Update Services (WSUS) 和 Microsoft Endpoint Configuration Manager。 關於 WSUS 的說明,請參閱 WSUS 及目錄網站。 關於設定管理的說明,請參見 從 Microsoft Update 目錄匯入更新。
如果您已使用此問題的任何解決方法或緩和措施,則不再需要它們,建議您將它們移除。 要移除 workaround ,請檢視已套用的 workaround 或替代替代方案作為說明。
| 產品版本 | 更新 | |
|---|---|---|
| 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月更新) 及2019 Windows Server | 目錄 | 5023363 |
| .NET Framework 4.7.2 | 目錄 | 5023333 |
| .NET Framework 4.8 | 目錄 | 5023326 |
| Windows 10 1607 (週年更新) 與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 日的安全更新時。
- 安裝 2022 年 12 月 13 日的安全更新時,安裝了 .NET Framework 4.8。
- 安裝 2022 年 12 月 13 日安全更新時,使用 .NET Framework 4.8.1。
- .NET Core 3.1,搭配 Windows 桌面執行環境版本 3.1.32。
- .NET 6,並支援 Windows 桌面執行環境版本 6.0.12 或更新版本。
- .NET 7,並搭載 Windows Desktop 執行時版本 7.0.1 或更新版本。
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 日發布的 out-of-band 更新中,針對部分 .NET Framework 版本進行了修正。 對於未被針對的 .NET Framework 版本,Microsoft 正積極研究一項額外更新,該更新旨在恢復相容性並解決潛在的安全問題。
有關保護和安全性的資訊
- 線上自我保護: Windows 安全性支援
- 了解我們如何防範網路威脅:Microsoft 安全性