KB5022083 WPF 기반 애플리케이션이 XPS 문서를 렌더링하는 방법 변경

참고

출시된 날짜:
2022년 12월 13일

참고

  • 이 문서는 대체 해결 방법 레지스트리 키를 업데이트하기 위해 2023년 5월 19일에 수정되었습니다.
  • 이 문서는 해결 방법을 업데이트하기 위해 2023년 2월 17일에 수정되었습니다.
  • 이 문서는 해결 방법을 추가하기 위해 2023년 1월 31일에 수정되었습니다.
  • 이 문서는 증상을 확장하고 FAQ 섹션을 추가하기 위해 2023년 1월 9일에 수정되었습니다.
  • 이 문서는 추가 해결 방법을 추가하기 위해 2022년 12월 15일에 수정되었습니다.

요약​​

이 문서에서는 2022년 12월 13일 또는 2023년 2월 14일, 보안 업데이트 또는 .NET Framework 및 .NET에 대한 2023년 1월 19일 업데이트를 설치한 후 WPF 기반 애플리케이션이 XPS 문서를 렌더링하는 방법에 문제가 발생할 수 있는 경우 문제를 완화하는 데 도움이 됩니다.

증상

테이블 구조, 스토리보드 또는 하이퍼링크와 같은 구조 또는 의미 체계 요소를 활용하는 XPS 문서는 WPF 기반 판독기에서 올바르게 표시되지 않을 수 있습니다. 또한 일부 인라인 이미지가 올바르게 표시되지 않거나 XPS 문서가 WPF 기반 판독기에 로드될 때 Null 참조 예외가 발생할 수 있습니다.

해결 방법

Microsoft는 이 문제에 대한 호환성 해결 방법을 식별하고 이를 resolve PowerShell 스크립트를 만들었습니다.

호환성 해결 방법을 설치하려면 아래 단계를 수행합니다.

  1. PowerShell 스크립트 다운로드
  2. 관리자 권한으로 PowerShell 프롬프트 열기
  3. 프롬프트 내에서 스크립트가 다운로드된 디렉터리로 이동합니다.
  4. 프롬프트 내에서 명령을 실행합니다 . .\kb5022083-compat.ps1 -Install

명령이 성공하면 콘솔 창에 "설치 완료됨"이 출력됩니다. 명령이 실패하면 실패 이유가 표시됩니다. 호환성 해결 방법을 제거하려면 위와 동일한 단계를 수행하지만 위의 단계(4)를 .\kb5022083-compat.ps1 -Uninstall로 바꿉니다.

호환성 해결 방법이 설치되면 XPS 문서를 표시하는 WPF 기반 애플리케이션은 2022년 12월 13일 보안 업데이트 이전과 마찬가지로 계속 작동해야 합니다.

대체 해결 방법

첫 번째 해결 방법이 문제를 resolve 않는 경우 레지스트리 항목을 사용하여 향상된 보안 동작을 사용하지 않도록 설정할 수 있습니다. 시스템 프로세스를 신뢰할 수 있는 모든 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

또는 그룹 정책 사용하여 키 이름, 값 이름 HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypesDisableDec2022Patch및 값이 인 REG_SZ 항목을 만들 수 있습니다.*

이러한 해결 방법 중 하나를 제거하고 향상된 보안 동작을 반환하려면 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.

  • 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 및 Windows Server 버전에 대해 2023년 2월 17일에 릴리스된 Windows 10, 버전 1607 및 Windows Server 2016 버전 및 최신 운영 체제 및 대역 외 업데이트에 대해 해결되었습니다. 이러한 대역 외 업데이트에 대한 독립 실행형 패키지를 얻으려면 Microsoft 업데이트 카탈로그에서 KB 번호를 검색합니다. 이러한 업데이트는 WSUS(Windows Server Update Services)와 Microsoft Endpoint Configuration Manager에 수동으로 가져올 수 있습니다. WSUS 지침은 WSUS 및 카탈로그 사이트를 참조하세요. 구성 관리 지침은 Microsoft 업데이트 카탈로그에서 업데이트 가져오기를 참조하세요.

이 문제에 대한 해결 방법이나 완화 방법을 사용한 경우 더 이상 필요하지 않으므로 제거하는 것이 좋습니다. 해결 방법을 제거하려면 지침에 적용된 해결 방법 또는 대체 해결 방법을 검토합니다.

제품 버전 업데이트
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(1주년 업데이트) 및 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 2022년 12월 13일 보안 업데이트가 설치된 경우 2.0, 3.0, 3.5, 3.5.1을 참조하세요.
  • .NET Framework 2022년 12월 13일 보안 업데이트가 설치된 경우 4.6.2, 4.7, 4.7.1, 4.7.2입니다.
  • .NET Framework 2022년 12월 13일에 보안 업데이트가 설치됩니다.
  • 4.8.1을 .NET Framework 2022년 12월 13일에 보안 업데이트가 설치됩니다.
  • .NET Core 3.1, Windows Desktop 런타임 버전 3.1.32.
  • Windows 데스크톱 런타임 버전 6.0.12 이상이 포함된 .NET 6.
  • Windows 데스크톱 런타임 버전 7.0.1 이상이 포함된 .NET 7.

Windows 운영 체제 내에서 제공되는 Windows XPS 뷰어 애플리케이션은 이 문제의 영향을 받지 않습니다.

자주 묻는 질문(FAQ)

이 회귀는 언제 도입되었습니까?

이 회귀는 .NET 및 .NET Framework 대한 누적 보안 업데이트인 2022년 12월 13일에 도입되었습니다.

관리자가 이 문서에 제공된 PowerShell 스크립트를 설치하는 경우 컴퓨터가 취약해질까요?

아니요. PowerShell 스크립트는 호환성만 해결합니다. 2022년 12월 13일 보안 업데이트를 사용하지 않도록 설정하거나 그 효능을 줄이지 않습니다.

관리자가 레지스트리 기반 대체 해결 방법을 활용하는 경우 컴퓨터를 취약하게 만들까요?

예. 위에 나열된 대체 해결 방법은 2022년 12월 13일 보안 수정의 WPF 부분을 사용하지 않도록 설정합니다. 관리자가 대체 해결 방법을 활용하는 경우 사용자에게 해당 워크스테이션의 신뢰할 수 없는 원본에서 XPS 문서를 열지 않도록 지시해야 합니다.

이 지침은 XPS 문서를 로드하는 WPF 기반 애플리케이션에만 적용됩니다. 사용자는 Windows의 기본 제공 XPS 뷰어 애플리케이션을 계속 사용하여 대체 레지스트리 기반 해결 방법을 활용하는 컴퓨터에서도 신뢰할 수 없는 XPS 문서를 안전하게 볼 수 있습니다.

호환성 문제를 해결하기 위해 Microsoft는 무엇을 하고 있나요?

이 문제는 2023년 1월 31일에 릴리스된 대역 외 업데이트에서 일부 버전의 .NET Framework 해결되었습니다. Microsoft에서 다루지 않는 .NET Framework 버전의 경우 호환성을 복원하는 추가 업데이트를 적극적으로 조사하면서 기본 보안 문제를 해결합니다.

보호 및 보안 관련 정보