KB5022083 Ändring i hur WPF-baserade program återger XPS-dokument

Obs

Premiärdatum:
Den 13 december 2022

Obs

  • Den här artikeln reviderades den 19 maj 2023 för att uppdatera alternativa tillfälliga registernycklar.
  • Den här artikeln reviderades den 17 februari 2023 för att uppdatera lösningen.
  • Den här artikeln reviderades den 31 januari 2023 för att lägga till en lösning.
  • Den här artikeln reviderades den 9 januari 2023 för att utöka symptomet och lägga till avsnittet Vanliga frågor och svar.
  • Den här artikeln reviderades den 15 december 2022 för att lägga till ytterligare en tillfällig lösning.

Sammanfattning

Den här artikeln innehåller hjälp för att åtgärda ett problem när användare kan få problem med hur WPF-baserade program återger XPS-dokument efter installation av säkerhetsuppdateringarna från 13 december 2022 eller 14 februari 2023 eller från 19 januari 2023 för .NET Framework och .NET.

Symptom

XPS-dokument som använder strukturella eller semantiska element som tabellstruktur, storyboards eller hyperlänkar kanske inte visas korrekt i WPF-baserade läsare. Dessutom kanske vissa infogade bilder inte visas korrekt, eller så kan null-referensundantag inträffa när XPS-dokument läses in i WPF-baserade läsare.

Tillfällig lösning

Microsoft har identifierat en kompatibilitetslösning för det här problemet och gjort ett PowerShell-skript för att lösa det.

Följ stegen nedan för att installera kompatibilitetslösningen.

  1. Ladda ned PowerShell-skriptet
  2. Öppna en PowerShell-kommandotolk som administratör
  3. Navigera i prompten till katalogen där skriptet laddades ned
  4. Kör kommandot i prompten: .\kb5022083-compat.ps1 -Install

Om kommandot lyckas skrivs "Installation slutförd" ut till konsolfönstret. Om kommandot misslyckas visas orsaken till felet. Du kan ta bort kompatibilitetslösningen genom att följa samma steg som ovan, men ersätta steg (4) ovan med: .\kb5022083-compat.ps1 -Avinstallera

När kompatibilitetslösningen har installerats bör WPF-baserade program som visar XPS-dokument fortsätta att fungera som de gjorde före säkerhetsuppdateringarna den 13 december 2022.

Alternativ lösning

Om den första lösningen inte löser problemet kan du använda en registerpost för att inaktivera det förbättrade säkerhetsbeteendet. Detta bör endast göras om du med säkerhet vet att alla XPS-dokument, dina systemprocesser är tillförlitliga, till exempel genereras av ditt system, snarare än laddas upp till ditt system, och de kan inte ändras av någon. Stäng inte av funktionen om du accepterar XPS-dokument från Internet, e-postmeddelanden från externa enheter eller andra källor som inte är betrodda.

Om du vill inaktivera det förbättrade säkerhetsbeteendet kör du det här kommandot från en upphöjd kommandotolk:

  • 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

Alternativt kan du använda grupprincip för att skapa en REG_SZ post med nyckelnamnet HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes, värdet .DisableDec2022Patch*

Om du vill ta bort någon av dessa lösningar och återgå till det förbättrade säkerhetsbeteendet kör du dessa kommandon från en upphöjd kommandotolk:

  • 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

Detta inaktiverar de förbättrade funktionerna i hela datorn och bör endast användas när du helt kan lita på alla XPS-indata till dina system.

Lösning

Det här problemet åtgärdades i out-of-band-uppdateringar som släpptes 31 januari 2023 för Windows 10, version 1607 och Windows Server 2016 versioner och nyare operativsystem och out-of-band-uppdateringar som släpptes 17 februari 2023 för tidigare versioner av Windows och Windows Server. Om du vill hämta det fristående paketet för dessa out-of-band-uppdateringar söker du efter KB-numret i Microsoft Update Catalog. Du kan importera dessa uppdateringar manuellt till Windows Server Update Services (WSUS) och Microsoft Endpoint Configuration Manager. Instruktioner för WSUS finns i WSUS och katalogwebbplatsen. Instruktioner för Configuration Manager finns i Importera uppdateringar från Microsoft Update Catalog.

Om du har använt någon lösning eller riskreducering för det här problemet behövs de inte längre, och vi rekommenderar att du tar bort dem. Om du vill ta bort en lösning granskar du den lösning eller alternativa lösning som tillämpades för instruktioner.

Produktversion Uppdatera
Windows 11, version 22H2
.NET Framework 4.8.1 Katalog 5023327
Windows 11, version 21H2 Katalog 5023367
.NET Framework 4.8 Katalog 5023323
.NET Framework 4.8.1 Katalog 5023320
Windows Server 2022 Katalog 5023368
.NET Framework 4.8 Katalog 5023324
.NET Framework 4.8.1 Katalog 5023321
Azure Stack HCI, version 22H2
.NET Framework 4.8 Katalog 5023324
Azure Stack HCI, version 21H2
.NET Framework 4.8 Katalog 5023324
Windows 10 version 22H2 Katalog 5023366
.NET Framework 4.8 Katalog 5023322
.NET Framework 4.8.1 Katalog 5023319
Windows 10 version 21H2 Katalog 5023365
.NET Framework 4.8 Katalog 5023322
.NET Framework 4.8.1 Katalog 5023319
Windows 10 version 20H2 Katalog 5023364
.NET Framework 4.8 Katalog 5023322
.NET Framework 4.8.1 Katalog 5023319
Windows 10 1809 (oktober 2018-uppdatering) och Windows Server 2019 Katalog 5023363
.NET Framework 4.7.2 Katalog 5023333
.NET Framework 4.8 Katalog 5023326
Windows 10 1607 (Anniversary Update) och Windows Server 2016 Katalog 5023416
.NET Framework 4.7.2 Katalog 5023332
.NET Framework 4.8 Katalog 5023325
Windows Embedded 8.1 och Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5023819
.NET Framework 4.8 Katalog 5023822
Windows Embedded 8 och Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5023818
.NET Framework 4.8 Katalog 5023821
Windows Embedded 7 Standard och Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5023820
.NET Framework 4.8 Katalog 5023823
Windows Server 2008 SP2
.NET Framework 4.6.2 Katalog 5023820

Berörda uppdateringar

Följande .NET-versioner påverkas:

  • .NET Framework 2.0, 3.0, 3.5, 3.5.1, när säkerhetsuppdateringen från den 13 december 2022 installeras.
  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, när säkerhetsuppdateringen från den 13 december 2022 installeras.
  • .NET Framework 4.8, när säkerhetsuppdateringen från den 13 december 2022 installeras.
  • .NET Framework 4.8.1, när säkerhetsuppdateringen från den 13 december 2022 installeras.
  • .NET Core 3.1 med Windows Desktop Runtime version 3.1.32.
  • .NET 6, med Windows Desktop Runtime-version 6.0.12 eller senare.
  • .NET 7 med Windows Desktop Runtime version 7.0.1 eller senare.

Programmet Windows XPS Viewer i Windows-operativsystemet påverkas inte av det här problemet.

Vanliga frågor (FAQ)

När infördes den här regressionen?

Den här regressionen introducerades i de kumulativa säkerhetsuppdateringarna från den 13 december 2022 för .NET och .NET Framework.

Blir datorn sårbar om en administratör installerar PowerShell-skriptet i den här artikeln?

Nej. PowerShell-skriptet hanterar endast kompatibilitet. Den inaktiverar inte säkerhetsuppdateringen från den 13 december 2022 och minskar inte dess effektivitet på annat sätt.

Blir datorn sårbar om en administratör använder den registerbaserade alternativa lösningen?

Ja. Den alternativa lösningen som anges ovan inaktiverar WPF-delen av säkerhetskorrigeringen från den 13 december 2022. Om en administratör använder den alternativa lösningen bör de uppmana sina användare att inte öppna XPS-dokument från källor som inte är betrodda på dessa arbetsstationer.

Den här vägledningen gäller endast för WPF-baserade program som läser in XPS-dokument. Användare kan fortsätta att använda Windows inbyggda XPS-visningsprogram för att visa ej betrodda XPS-dokument på ett säkert sätt, även på datorer som använder den alternativa registerbaserade lösningen.

Vad gör Microsoft för att lösa kompatibilitetsproblemet?

Det här problemet åtgärdades för vissa versioner av .NET Framework i uppdateringar som släpptes 31 januari 2023. För de versioner av .NET Framework som inte åtgärdas undersöker Microsoft aktivt ytterligare en uppdatering som återställer kompatibiliteten och samtidigt löser det underliggande säkerhetsproblemet.

Information om skydd och säkerhet