KB5022083 WPF-pohjaisten sovellusten XPS-tiedostojen hahmontamisen muutos

Huomautus

Julkaisupäivä:
Joulukuu 13, 2022

Huomautus

  • Tämä artikkeli on tarkistettu 19. toukokuuta 2023 vaihtoehtoisten kiertotapojen rekisteriavainten päivittämiseksi.
  • Tämä artikkeli on korjattu 17. helmikuuta 2023 tarkkuuden päivittämiseksi.
  • Tätä artikkelia muokattiin 31. tammikuuta 2023 päätöslauselman lisäämiseksi.
  • Tätä artikkelia muokattiin 9. tammikuuta 2023 oireen laajentamiseksi ja UKK-osion lisäämiseksi.
  • Tätä artikkelia on muokattu 15. joulukuuta 2022 ylimääräisen ongelman kiertämiseksi.

Yhteenveto

Tässä artikkelissa on ohjeita ongelman lieventämiseen, kun 13. joulukuuta 2022 tai 14. helmikuuta 2023 julkaistujen suojauspäivitysten tai 19. tammikuuta 2023 julkaistujen .NET Framework- ja .NET-päivitysten asentamisen jälkeen käyttäjät saattavat kohdata ongelmia WPF-pohjaisten sovellusten XPS-asiakirjojen hahmontamisessa.

Oire

XPS-asiakirjat, jotka käyttävät rakenteellisia tai semanttisia elementtejä, kuten taulukkorakennetta, kuvakäsikirjoituksia tai hyperlinkkejä, eivät ehkä näy oikein WPF-pohjaisissa lukuohjelmissa. Lisäksi jotkin tekstiin sitoutuvat kuvat eivät ehkä näy oikein, tai tyhjien viittausten poikkeuksia voi tapahtua, kun XPS-asiakirjoja ladataan WPF-pohjaisiin lukuohjelmiin.

Ongelman kiertotapa

Microsoft tunnisti yhteensopivuuden kiertotien tälle ongelmalle ja teki PowerShell-komentosarjan ongelman ratkaisemiseksi.

Voit asentaa yhteensopivuuden kiertotavan noudattamalla seuraavia ohjeita.

  1. Lataa PowerShell-komentosarja
  2. PowerShell-kehotteen avaaminen järjestelmänvalvojana
  3. Siirry kehotteessa hakemistoon, johon komentosarja ladattiin.
  4. Suorita komento kehotteessa: .\kb5022083-compat.ps1 -Install

Jos komento onnistuu, konsoli-ikkunaan tulostetaan "Installation complete." (Asennus valmis.). Jos komento epäonnistuu, näyttöön tulee virheen syy. Voit poistaa yhteensopivuuden ongelman noudattamalla samoja ohjeita kuin edellä, mutta korvaa yllä oleva vaihe (4) seuraavalla tekstillä: .\kb5022083-compat.ps1 -Poista asennus

Kun yhteensopivuuden kiertotapa on asennettu, XPS-asiakirjoja näyttävien WPF-pohjaisten sovellusten pitäisi jatkaa toimintaansa kuten ne toimivat ennen 13. joulukuuta 2022 julkaistuja tietoturvapäivityksiä.

Vaihtoehtoinen ratkaisu

Jos ensimmäinen vaihtoehtoinen menetelmä ei ratkaise ongelmaa, voit poistaa tehostetun suojauskäyttäytymisen käytöstä rekisterimerkinnän avulla. Tämä kannattaa tehdä vain, jos tiedät varmasti, että kaikki järjestelmäsi käsittelemät XPS-tiedostot ovat luotettavia. Esimerkiksi ne ovat järjestelmäsi luomia, eivätkä ne ole ladattu järjestelmääsi, eikä kukaan voi muuttaa niitä. Älä poista toimintoa käytöstä, jos hyväksyt XPS-tiedostoja Internetistä, sähköpostiviestejä ulkopuolisilta tahoilta tai muista epäluotettavista lähteistä.

Voit poistaa parannetun suojauksen käytöstä suorittamalla tämän komennon järjestelmänvalvojan oikeuksin suoritettavasta komentokehotteesta:

  • 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

Vaihtoehtoisesti voit ryhmäkäytäntö avulla luoda REG_SZ merkinnän, jonka avaimen nimi on , HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypesarvon nimi ja DisableDec2022Patcharvo*

Voit poistaa jommankumman näistä vaihtoehtoisista menetelmistä ja palauttaa parannetun suojauksen toiminnan suorittamalla nämä komennot järjestelmänvalvojan oikeuksin suoritettavasta komentokehotteesta:

  • 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

Tämä poistaa laajennetut toiminnot käytöstä koko koneelta, ja sitä tulisi käyttää vain, kun voit luottaa kaikkiin järjestelmiisi tuleviin XPS-syötteisiin.

Ratkaisu

Tämä ongelma korjattiin 31. tammikuuta 2023 julkaistuissa päivitystiheyden ulkopuolisissa päivityksissä Windows 10:n versioille 1607 ja Windows Server 2016 -versioille ja uudemmille käyttöjärjestelmille sekä 17. helmikuuta 2023 julkaistuissa päivityksissä, jotka julkaistiin aiemmille Windows- ja Windows Server -versioille. Jos haluat hankkia erillisen paketin näitä vanhentuneita päivityksiä varten, etsi KB-numero Microsoft Update -luettelosta. Voit tuoda nämä päivitykset manuaalisesti Windows Server Update Servicesiin (WSUS) ja Microsoft Endpoint Configuration Manageriin. WSUS-ohjeet ovat kohdassa WSUS ja luettelosivusto. Configuration Manger -ohjeet ovat kohdassa Päivitysten tuominen Microsoft Update -luettelosta.

Jos käytit tähän ongelmaan vaihtoehtoisia menetelmiä tai lievennyksiä, niitä ei enää tarvita, ja suosittelemme, että poistat ne. Voit poistaa vaihtoehtoisen menetelmän tutustumalla vaihtoehtoiseen menetelmään tai vaihtoehtoiseen menetelmään, jota käytettiin ohjeiden mukaisesti.

Tuoteversio Päivitä
Windows 11:n versio 22H2
.NET Framework 4.8.1 Luettelo 5023327
Windows 11:n versio 21H2 Luettelo 5023367
.NET Framework 4.8 Luettelo 5023323
.NET Framework 4.8.1 Luettelo 5023320
Windows Server 2022 Luettelo 5023368
.NET Framework 4.8 Luettelo 5023324
.NET Framework 4.8.1 Luettelo 5023321
Azure Stack HCI, versio 22H2
.NET Framework 4.8 Luettelo 5023324
Azure Stack HCI, versio 21H2
.NET Framework 4.8 Luettelo 5023324
Windows 10 -versio 22H2 Luettelo 5023366
.NET Framework 4.8 Luettelo 5023322
.NET Framework 4.8.1 Luettelo 5023319
Windows 10:n versio 21H2 Luettelo 5023365
.NET Framework 4.8 Luettelo 5023322
.NET Framework 4.8.1 Luettelo 5023319
Windows 10:n versio 20H2 Luettelo 5023364
.NET Framework 4.8 Luettelo 5023322
.NET Framework 4.8.1 Luettelo 5023319
Windows 10 1809 (lokakuun 2018 päivitys) ja Windows Server 2019 Luettelo 5023363
.NET Framework 4.7.2 Luettelo 5023333
.NET Framework 4.8 Luettelo 5023326
Windows 10 1607 (Anniversary Update) ja Windows Server 2016 Luettelo 5023416
.NET Framework 4.7.2 Luettelo 5023332
.NET Framework 4.8 Luettelo 5023325
Windows Embedded 8.1 ja Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5023819
.NET Framework 4.8 Luettelo 5023822
Windows Embedded 8 ja Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5023818
.NET Framework 4.8 Luettelo 5023821
Windows Embedded 7 Standard ja Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5023820
.NET Framework 4.8 Luettelo 5023823
Windows Server 2008 SP2
.NET Framework 4.6.2 Luettelo 5023820

Päivitykset, joihin ongelma vaikuttaa

Tämä koskee seuraavia .NET-versioita:

  • .NET Framework 2.0, 3.0, 3.5 ja 3.5.1, kun 13. joulukuuta 2022 julkaistu suojauspäivitys asennetaan.
  • .NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2, kun 13. joulukuuta 2022 julkaistu suojauspäivitys asennetaan.
  • .NET Framework 4.8, kun 13. joulukuuta 2022 julkaistu tietoturvapäivitys asennetaan.
  • .NET Framework 4.8.1, kun 13. joulukuuta 2022 julkaistu suojauspäivitys asennetaan.
  • .NET Core 3.1, jossa on Windowsin työpöydän suorituksenaikainen versio 3.1.32.
  • .NET 6, jossa on Windowsin työpöydän suorituksenaikainen versio 6.0.12 tai uudempi.
  • .NET 7, jossa on Windowsin työpöytäversion suorituspalveluversio 7.0.1 tai uudempi.

Tämä ongelma ei koske Windows-käyttöjärjestelmän mukana toimitettua Windows XPS Viewer -sovellusta.

Usein kysytyt kysymykset

Milloin tämä regressio otettiin käyttöön?

Tämä regressio otettiin käyttöön 13. joulukuuta 2022 .NET:n ja .NET Framework:n kumulatiivisissa suojauspäivityksissä.

Jos järjestelmänvalvoja asentaa tässä artikkelissa kuvatun PowerShell-komentosarjan, jättääkö se koneen haavoittuvaksi?

Ei. PowerShell-komentosarja koskee vain yhteensopivuutta. Se ei poista käytöstä 13. joulukuuta 2022 julkaistua suojauspäivitystä tai muuten heikennä sen tehokkuutta.

Jos järjestelmänvalvoja käyttää rekisteriin perustuvaa vaihtoehtoista menetelmää, jättääkö se koneen haavoittuvaksi?

Kyllä. Yllä mainittu vaihtoehtoinen ratkaisu poistaa käytöstä 13. joulukuuta 2022 julkaistun suojauskorjauksen WPF-osan. Jos järjestelmänvalvoja käyttää vaihtoehtoista menetelmää, hänen tulee kehottaa käyttäjiään olemaan avaamatta epäluotettavista lähteistä peräisin olevia XPS-tiedostoja kyseisillä työasemilla.

Nämä ohjeet koskevat vain WPF-pohjaisia sovelluksia, jotka lataavat XPS-tiedostoja. Käyttäjät voivat edelleen käyttää Windowsin sisäänrakennettua XPS-katseluohjelmaa voidakseen tarkastella ei-luotettuja XPS-tiedostoja turvallisesti jopa tietokoneissa, jotka käyttävät vaihtoehtoista rekisteripohjaista vaihtoehtoista menetelmää.

Mitä Microsoft tekee yhteensopivuusongelman ratkaisemiseksi?

Tämä ongelma korjattiin joidenkin .NET Framework -versioiden osalta 31. tammikuuta 2023 julkaistuissa päivitystiheyden ulkopuolisissa päivityksissä. Niiden .NET Framework -versioiden osalta, joita ei ole käsitelty, Microsoft tutkii aktiivisesti lisäpäivitystä, joka palauttaa yhteensopivuuden ja ratkaisee samalla taustalla olevan suojausongelman.

Suojausta koskevat tiedot