KB5022083 Alteração na forma como as aplicações baseadas em WPF processam documentos XPS

Observação

Data de lançamento:
13 de dezembro de 2022

Observação

  • Este artigo foi revisto a 19 de maio de 2023 para atualizar chaves de registo de soluções alternativas.
  • Este artigo foi revisto a 17 de fevereiro de 2023 para atualizar a resolução.
  • Este artigo foi revisto a 31 de janeiro de 2023 para adicionar uma resolução.
  • Este artigo foi revisto a 9 de janeiro de 2023 para expandir o sintoma e adicionar a secção FAQ.
  • Este artigo foi revisto a 15 de dezembro de 2022 para adicionar uma solução adicional.

Resumo

Este artigo fornece ajuda para mitigar um problema quando, depois de instalar as atualizações de segurança de 13 de dezembro de 2022 ou 14 de fevereiro de 2023 ou as atualizações de 19 de janeiro de 2023 para .NET Framework e .NET, os utilizadores poderão ter problemas com a forma como as aplicações baseadas em WPF compõem documentos XPS.

Sintoma

Documentos XPS que utilizam elementos estruturais ou semânticos, como estrutura de tabela, storyboards ou hiperlinks, podem não ser exibidos corretamente em leitores baseados em WPF. Além disso, algumas imagens embutidas podem não ser exibidas corretamente ou exceções de referência nula podem acontecer quando documentos XPS são carregados em leitores baseados em WPF.

Solução alternativa

A Microsoft identificou uma solução de compatibilidade para este problema e criou um script do PowerShell para resolve isto.

Para instalar a solução alternativa de compatibilidade, siga os passos abaixo.

  1. Transferir o script do PowerShell
  2. Abrir uma linha de comandos do PowerShell como administrador
  3. No prompt, navegue até o diretório onde o script foi baixado
  4. Execute o comando no prompt: .\kb5022083-compat.ps1 -Install

Se o comando for bem-sucedido, ele imprimirá "Instalação concluída." na janela do console. Se o comando falhar, será apresentada a razão da falha. Para remover a solução alternativa de compatibilidade, siga as mesmas etapas acima, mas substitua a etapa (4) acima por: .\kb5022083-compat.ps1 -Uninstall

Uma vez instalada a solução alternativa de compatibilidade, as aplicações baseadas em WPF que apresentam documentos XPS devem continuar a funcionar como antes das atualizações de segurança de 13 de dezembro de 2022.

Solução alternativa

Se a primeira solução não resolve o problema, pode utilizar uma entrada do registo para desativar o comportamento de segurança melhorada. Isso só deve ser feito se você tiver certeza de que todos os documentos XPS que seus processos do sistema são confiáveis, por exemplo, eles são gerados pelo seu sistema, em vez de carregados para o seu sistema, e eles não podem ser alterados por ninguém. Não desative a funcionalidade se aceitar documentos XPS da Internet, e-mails de entidades externas ou outras fontes não fidedignas.

Para desativar o comportamento de segurança avançada, execute este comando a partir de uma linha de comandos elevada:

  • 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

Em alternativa, pode utilizar Política de Grupo para criar uma entrada de REG_SZ com um nome de chave de , um nome de HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypesvalor de DisableDec2022Patch, e um valor de*

Para remover qualquer uma destas soluções e devolver o comportamento de segurança melhorado, execute estes comandos a partir de uma linha de comandos elevada:

  • 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

Isso desativa a funcionalidade aprimorada em toda a máquina e só deve ser usado quando você puder confiar totalmente em todas as entradas XPS em seus sistemas.

Resolução

Este problema foi resolvido em atualizações extraordinárias lançadas a 31 de janeiro de 2023 para versões Windows 10, versão 1607 e Windows Server 2016 e sistemas operativos mais recentes e atualizações fora de banda lançadas a 17 de fevereiro de 2023 para versões anteriores do Windows e Windows Server. Para obter o pacote autónomo para estas atualizações extraordinárias, procure o número KB no Catálogo Microsoft Update. Você pode importar manualmente essas atualizações para Windows Server Update Services (WSUS) e Microsoft Endpoint Configuration Manager. Para obter instruções sobre o WSUS, consulte WSUS e o Site de Catálogo. Para obter instruções sobre o Configuration Manger, consulte Importar atualizações do Catálogo Microsoft Update.

Se você usou alguma solução alternativa ou mitigação para esse problema, eles não serão mais necessários e recomendamos removê-los. Para remover a solução alternativa, reveja a solução ou solução alternativa que foi aplicada para obter as instruções.

Versão do Produto Atualizar Artigo da Base de Dados de Conhecimento
Windows 11, versão 22H2
.NET Framework 4.8.1 Catálogo 5023327
Windows 11, versão 21H2 Catálogo 5023367
.NET Framework 4.8 Catálogo 5023323
.NET Framework 4.8.1 Catálogo 5023320
Windows Server 2022 Catálogo 5023368
.NET Framework 4.8 Catálogo 5023324
.NET Framework 4.8.1 Catálogo 5023321
Azure Stack HCI, versão 22H2
.NET Framework 4.8 Catálogo 5023324
Azure Stack HCI, versão 21H2
.NET Framework 4.8 Catálogo 5023324
Windows 10 Versão 22H2 Catálogo 5023366
.NET Framework 4.8 Catálogo 5023322
.NET Framework 4.8.1 Catálogo 5023319
Windows 10 Versão 21H2 Catálogo 5023365
.NET Framework 4.8 Catálogo 5023322
.NET Framework 4.8.1 Catálogo 5023319
Windows 10 Versão 20H2 Catálogo 5023364
.NET Framework 4.8 Catálogo 5023322
.NET Framework 4.8.1 Catálogo 5023319
Windows 10 1809 (atualização de outubro de 2018) e Windows Server 2019 Catálogo 5023363
.NET Framework 4.7.2 Catálogo 5023333
.NET Framework 4.8 Catálogo 5023326
Windows 10 versão 1607 (atualização de aniversário) e Windows Server 2016 Catálogo 5023416
.NET Framework 4.7.2 Catálogo 5023332
.NET Framework 4.8 Catálogo 5023325
Windows Embedded 8.1 e Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5023819
.NET Framework 4.8 Catálogo 5023822
Windows Embedded 8 e Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5023818
.NET Framework 4.8 Catálogo 5023821
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5023820
.NET Framework 4.8 Catálogo 5023823
Windows Server 2008 SP2
.NET Framework 4.6.2 Catálogo 5023820

Atualizações afetadas

As seguintes versões do .NET são afetadas:

  • .NET Framework 2.0, 3.0, 3.5, 3.5.1, quando a atualização de segurança de 13 de dezembro de 2022 for instalada.
  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, quando a atualização de segurança de 13 de dezembro de 2022 for instalada.
  • .NET Framework 4.8, quando a atualização de segurança de 13 de dezembro de 2022 for instalada.
  • .NET Framework 4.8.1, quando a atualização de segurança de 13 de dezembro de 2022 for instalada.
  • .NET Core 3.1, com o Windows Desktop runtime versão 3.1.32.
  • .NET 6, com o Windows Desktop runtime versão 6.0.12 ou posterior.
  • .NET 7, com o Windows Desktop runtime versão 7.0.1 ou posterior.

O aplicativo Windows XPS Viewer fornecido no sistema operacional Windows não é afetado por esse problema.

Perguntas frequentes

Quando foi introduzida essa regressão?

Essa regressão foi introduzida nas atualizações de segurança cumulativas de 13 de dezembro de 2022 para .NET e .NET Framework.

Se um administrador instalar o script do PowerShell fornecido neste artigo, ele deixará a máquina vulnerável?

Não. O script do PowerShell aborda apenas a compatibilidade. Não desativa a atualização de segurança de 13 de dezembro de 2022 nem reduz sua eficácia.

Se um administrador utilizar a solução alternativa baseada em registro, ela deixará a máquina vulnerável?

Sim. A solução alternativa listada acima desabilita a parte do WPF da correção de segurança de 13 de dezembro de 2022. Se um administrador utilizar a solução alternativa, ele deve direcionar seus usuários a não abrir documentos XPS de fontes não confiáveis nessas estações de trabalho.

Esta orientação se aplica apenas a aplicativos baseados em WPF que carregam documentos XPS. Os usuários podem continuar a usar o aplicativo de visualização XPS integrado do Windows para visualizar documentos XPS não confiáveis com segurança, mesmo em máquinas que utilizam a solução alternativa baseada em registro.

O que a Microsoft está fazendo para resolver o problema de compatibilidade?

Esse problema foi resolvido para algumas versões do .NET Framework em atualizações fora de banda lançadas em 31 de janeiro de 2023. Para versões do .NET Framework que não são abordadas, a Microsoft está investigando ativamente uma atualização adicional que restaura a compatibilidade ao mesmo tempo em que resolve o problema de segurança subjacente.

Informações sobre proteção e segurança