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

참고

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

참고

  • 이 문서는 대체 해결 방법 레지스트리 키를 업데이트하기 위해 2023년 5월 19일에 수정되었습니다.
  • 이 문서는 해결 방법을 업데이트하기 위해 2023년 2월 17일에 수정되었습니다.
  • 이 문서는 해결 방법을 추가하기 위해 2023년 1월 31일에 수정되었습니다.
  • 이 문서는 2023년 1월 9일에 증상을 확대하고 FAQ 섹션을 추가하기 위해 수정되었습니다.
  • 이 문서는 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\XPSAllowedTypes, 값 이름 DisableDec2022Patch및 값 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 입력을 완전히 신뢰할 수 있는 경우에만 사용해야 합니다.

해결 방법

이 문제는 Windows 10 버전 1607 및 Windows Server 2016 버전 및 최신 운영 체제에 대해 2023년 1월 31일에 릴리스된 대역외 업데이트와 이전 Windows 및 Windows Server 버전의 경우 2023년 2월 17일에 릴리스된 대역외 업데이트에서 해결되었습니다. 이러한 대역 외 업데이트에 대한 독립 실행형 패키지를 얻으려면 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월 업데이트) 및 Windows Server 2019 카탈로그 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 2.0, 3.0, 3.5, 3.5.1(2022년 12월 13일 보안 업데이트 설치 시).
  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2(2022년 12월 13일 보안 업데이트 설치 시).
  • .NET Framework 4.8(2022년 12월 13일 보안 업데이트 설치 시).
  • .NET Framework 4.8.1(2022년 12월 13일 보안 업데이트 설치 시).
  • .NET Core 3.1, Windows 데스크톱 런타임 버전 3.1.32.
  • .NET 6, Windows 데스크톱 런타임 버전 6.0.12 이상.
  • .NET 7, Windows 데스크톱 런타임 버전 7.0.1 이상.

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

자주 묻는 질문(FAQ)

이 회귀는 언제 도입되었나요?

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

관리자가 이 문서에 제공된 PowerShell 스크립트를 설치하면 시스템이 취약한 상태가 됩니까?

아니요. PowerShell 스크립트는 호환성만 다룹니다. 2022년 12월 13일 보안 업데이트를 비활성화하거나 그 효과를 감소시키지는 않습니다.

관리자가 레지스트리 기반 대체 조치를 사용하는 경우 시스템이 취약한 상태가 됩니까?

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

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

호환성 문제를 해결하기 위해 Microsoft는 어떤 조치를 취하고 있나요?

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

보호 및 보안 관련 정보