KB5022083 Изменение в том, как приложения на основе WPF отрисовывает документы XPS

Примечание

Дата выпуска:
13 декабря 2022 г.

Примечание

  • Эта статья была изменена 19 мая 2023 г., чтобы обновить альтернативные обходные решения разделов реестра.
  • Эта статья была изменена 17 февраля 2023 г., чтобы обновить решение.
  • Эта статья была изменена 31 января 2023 г., чтобы добавить резолюцию.
  • Эта статья была изменена 9 января 2023 г., чтобы расширить симптом и добавить раздел часто задаваемых вопросов.
  • Эта статья была изменена 15 декабря 2022 г., чтобы добавить дополнительное решение.

Сводка

Эта статья поможет устранить проблему, когда после установки обновлений для системы безопасности от 13 декабря 2022 г. или 14 февраля 2023 г. обновления для системы безопасности или обновлений от 19 января 2023 г. для платформа .NET Framework и .NET у пользователей могут возникнуть проблемы с тем, как приложения на основе WPF визуалируют документы XPS.

Проблема

Документы XPS, использующие структурные или семантические элементы, такие как структура таблицы, раскадровки или гиперссылки, могут неправильно отображаться в модулях чтения на основе WPF. Кроме того, некоторые встроенные изображения могут отображаться неправильно или при загрузке документов XPS в средства чтения на основе WPF могут возникать исключения со ссылкой NULL.

Возможное решение

Корпорация Майкрософт определила обходное решение этой проблемы в области совместимости и сделала сценарий PowerShell для ее устранения.

Чтобы установить обходное решение для обеспечения совместимости, выполните указанные ниже действия.

  1. Скачивание скрипта PowerShell
  2. Открытие командной строки PowerShell от имени администратора
  3. В командной строке перейдите в каталог, в который был скачан скрипт.
  4. Выполните команду в командной строке : .\kb5022083-compat.ps1 -Install

Если команда выполнена успешно, в окне консоли отобразится сообщение "Установка завершена". В случае сбоя команды отобразится причина сбоя. Чтобы удалить обходной путь совместимости, выполните те же действия, что и выше, но замените приведенный выше шаг (4) на .\kb5022083-compat.ps1 -Uninstall

После установки обходного решения проблемы совместимости приложения на основе WPF, в которых отображаются документы XPS, должны продолжать работать так же, как и до обновления для системы безопасности от 13 декабря 2022 г.

Альтернативное решение

Если первое обходное решение не устраняет проблему, можно использовать запись реестра, чтобы отключить режим повышенной безопасности. Это следует делать только в том случае, если вы точно знаете, что все документы XPS, которые являются доверенными для системных процессов, например они создаются вашей системой, а не отправляются в систему, и они не могут быть изменены кем-либо. Не отключайте эту функцию, если вы принимаете документы XPS из Интернета, сообщения электронной почты от внешних сущностей или другие ненадежные источники.

Чтобы отключить поведение повышенной безопасности, выполните следующую команду из командной строки с повышенными привилегиями:

  • reg добавьте "HKLM\SOFTWARE\Microsoft\. NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /v "DisableDec2022Patch" /t REG_SZ /d "*" /reg:64
  • reg добавьте "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значения и значением*

Чтобы удалить любое из этих обходных решений и вернуть поведение повышенной безопасности, выполните следующие команды из командной строки с повышенными привилегиями:

  • 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 в ваших системах.

Решение

Эта проблема устранена во внеполосных обновлениях, выпущенных 31 января 2023 г. для Windows 10 версии 1607 и Windows Server 2016 версий, а также более новых операционных систем и внеполосных обновлений, выпущенных 17 февраля 2023 г. для более ранних версий Windows и Windows Server. Чтобы получить автономный пакет для этих внеполосных обновлений, найдите номер базы знаний в каталоге Центра обновления Майкрософт. Вы можете вручную импортировать эти обновления в Windows Server Update Services (WSUS) и Microsoft Endpoint Configuration Manager. Инструкции по WSUS см. в разделе WSUS и сайт каталога. Инструкции по диспетчеру конфигурации см . в разделе Импорт обновлений из каталога Центра обновления Майкрософт.

Если вы использовали какие-либо временные решения или способы устранения этой проблемы, они больше не нужны, и мы рекомендуем вам удалить их. Чтобы удалить обходной путь, ознакомьтесь с обходным решением или альтернативным обходным решением, которое было применено для получения инструкций.

Версия продукта Обновление
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 г.) и Windows Server 2019 г. Каталог 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 с пакетом обновления 1 (SP1)
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023820
платформа .NET Framework 4.8 Каталог 5023823
Windows Server 2008 с пакетом обновления 2 (SP2)
.NET Framework 4.6.2 Каталог 5023820

Затронутые обновления

Затрагиваются следующие версии .NET:

  • платформа .NET Framework 2.0, 3.0, 3.5, 3.5.1 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.8 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.8.1, когда 13 декабря 2022 г. установлено обновление для системы безопасности.
  • .NET Core 3.1 со средой выполнения Windows Desktop версии 3.1.32.
  • .NET 6 с средой выполнения Windows Desktop версии 6.0.12 или более поздней.
  • .NET 7 со средой выполнения Рабочего стола Windows версии 7.0.1 или более поздней.

Эта проблема не затрагивает приложение Windows XPS Viewer, предоставляемое в операционной системе Windows.

Часто задаваемые вопросы (часто задаваемые вопросы)

Когда была введена эта регрессия?

Эта регрессия появилась в накопительных обновлениях для системы безопасности для .NET и платформа .NET Framework от 13 декабря 2022 г.

Если администратор установит сценарий PowerShell, указанный в этой статье, сделает ли компьютер уязвимым?

Нет. Сценарий PowerShell предназначен только для обеспечения совместимости. Оно не отключает обновление для системы безопасности от 13 декабря 2022 г. или иным образом не снижает его эффективность.

Если администратор использует альтернативный обходной путь на основе реестра, сделает ли компьютер уязвимым?

Да. Альтернативное решение, описанное выше, отключает часть wpf исправления безопасности от 13 декабря 2022 г. Если администратор использует альтернативное решение, он должен направить своих пользователей не открывать документы XPS из ненадежных источников на этих рабочих станциях.

Это руководство относится только к приложениям на основе WPF, которые загружают документы XPS. Пользователи могут продолжать использовать встроенное в Windows приложение средства просмотра XPS для безопасного просмотра ненадежных документов XPS даже на компьютерах, где используется альтернативное решение на основе реестра.

Что корпорация Майкрософт делает для решения проблемы совместимости?

Эта проблема устранена для некоторых версий платформа .NET Framework во внеполосных обновлениях, выпущенных 31 января 2023 г. Для версий платформа .NET Framework, которые не рассматриваются, корпорация Майкрософт активно изучает дополнительное обновление, которое восстанавливает совместимость, а также устраняет базовую проблему безопасности.

Сведения о защите и безопасности