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 นอกจากนี้ รูปอินไลน์บางรูปอาจแสดงไม่ถูกต้อง หรือข้อยกเว้นการอ้างอิง Null อาจเกิดขึ้นเมื่อโหลดเอกสาร XPS ลงในโปรแกรมอ่านที่ใช้ WPF

วิธีแก้ไขปัญหา

Microsoft ระบุวิธีแก้ไขปัญหาด้านความเข้ากันได้สําหรับปัญหานี้ และสร้างสคริปต์ PowerShell เพื่อแก้ไขปัญหานี้

เมื่อต้องการติดตั้งการแก้ไขปัญหาความเข้ากันได้ ให้ทําตามขั้นตอนด้านล่าง

  1. ดาวน์โหลด สคริปต์ PowerShell
  2. เปิดพร้อมท์ PowerShell ในฐานะผู้ดูแลระบบ
  3. ภายในพร้อมท์ ให้นําทางไปยังไดเรกทอรีที่ดาวน์โหลดสคริปต์
  4. เรียกใช้คําสั่งภายในพร้อมท์: .\kb5022083-compat.ps1 -Install

หากคําสั่งสําเร็จ จะพิมพ์ "การติดตั้งเสร็จสมบูรณ์" ไปยังหน้าต่างคอนโซล ถ้าคําสั่งล้มเหลว จะแสดงสาเหตุของความล้มเหลว เมื่อต้องการลบการแก้ไขปัญหาความเข้ากันได้ ให้ทําตามขั้นตอนเดียวกันกับด้านบน แต่แทนที่ขั้นตอนที่ (4) ด้านบนด้วย: .\kb5022083-compat.ps1 -ถอนการติดตั้ง

เมื่อติดตั้งวิธีแก้ไขปัญหาความเข้ากันได้แล้ว แอปพลิเคชันที่ใช้ WPF ที่แสดงเอกสาร XPS จะยังคงทํางานเหมือนก่อนการอัปเดตความปลอดภัยวันที่ 13 ธันวาคม 2022

วิธีแก้ไขปัญหาชั่วคราว

ถ้าวิธีแก้ไขปัญหาชั่วคราวแรกไม่สามารถแก้ไขปัญหาได้ คุณสามารถใช้รายการรีจิสทรีเพื่อปิดใช้งานลักษณะการทํางานความปลอดภัยที่ได้รับการปรับปรุง คุณควรทําเช่นนี้ก็ต่อเมื่อคุณทราบแน่ชัดว่าเอกสาร 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

อีกวิธีหนึ่งคือ คุณสามารถใช้ นโยบายกลุ่ม เพื่อสร้างรายการ 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 เวอร์ชันก่อนหน้า เมื่อต้องการขอรับแพคเกจแบบสแตนด์อโลนสําหรับการอัปเดตนอกแ่บนด์ ให้ค้นหาหมายเลข KB ใน Microsoft Update Catalog คุณสามารถนําเข้าการอัปเดตเหล่านี้ลงใน Windows Server Update Services (WSUS) และ Microsoft Endpoint Configuration Manager ได้ด้วยตนเอง สําหรับคําแนะนํา WSUS ให้ดู WSUS และไซต์แค็ตตาล็อก สําหรับคําแนะนํา Configuration Manger ให้ดู นําเข้าการอัปเดตจาก Microsoft Update Catalog

ถ้าคุณใช้วิธีแก้ไขปัญหาชั่วคราวหรือการบรรเทาปัญหาสำหรับปัญหานี้ วิธีแก้ไขปัญหาชั่วคราวหรือการบรรเทาปัญหาไม่จําเป็นต้องใช้อีกต่อไป และเราขอแนะนําให้คุณนําออก เมื่อต้องการนําวิธีแก้ไขปัญหาชั่วคราวออก ให้ตรวจสอบวิธีแก้ไขปัญหาชั่วคราวหรือวิธีแก้ไขปัญหาชั่วคราวสํารองที่ได้นําไปใช้สําหรับคําแนะนํา

รุ่นของผลิตภัณฑ์ อัปเดต บทความฐานความรู้
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 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 เมื่อมีการติดตั้งการอัปเดตความปลอดภัยในวันที่ 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 เวอร์ชัน 3.1.32
  • .NET 6 ที่มีรันไทม์เดสก์ท็อป Windows เวอร์ชัน 6.0.12 หรือใหม่กว่า
  • .NET 7 ที่มีรันไทม์เดสก์ท็อป Windows เวอร์ชัน 7.0.1 หรือใหม่กว่า

แอปพลิเคชันตัวแสดง Windows XPS ที่มีอยู่ในระบบปฏิบัติการ Windows จะไม่ได้รับผลกระทบจากปัญหานี้

คําถามที่ถามบ่อย (FAQ)

การถดถอยนี้เกิดขึ้นเมื่อใด

การถดถอยนี้ถูกนํามาใช้ในการอัปเดตความปลอดภัยแบบสะสมสําหรับ .NET และ .NET Framework เมื่อวันที่ 13 ธันวาคม 2022

หากผู้ดูแลระบบติดตั้งสคริปต์ PowerShell ที่มีอยู่ในบทความนี้ จะปล่อยให้เครื่องมีช่องโหว่หรือไม่

ไม่ สคริปต์ PowerShell ระบุเฉพาะความเข้ากันได้ ซึ่งไม่ได้ปิดใช้งานการอัปเดตความปลอดภัยวันที่ 13 ธันวาคม 2022 หรือลดประสิทธิภาพการทํางาน

หากผู้ดูแลระบบใช้วิธีแก้ไขปัญหาชั่วคราวอื่นที่ใช้รีจิสทรี จะทําให้เครื่องมีช่องโหว่หรือไม่

ใช่ วิธีแก้ไขปัญหาชั่วคราวสํารองที่ระบุไว้ข้างต้นจะปิดใช้งานส่วน WPF ของการแก้ไขความปลอดภัยวันที่ 13 ธันวาคม 2022 ถ้าผู้ดูแลระบบใช้วิธีแก้ไขปัญหาชั่วคราวอื่น พวกเขาควรสั่งให้ผู้ใช้ของพวกเขาไม่เปิดเอกสาร XPS จากแหล่งข้อมูลที่ไม่น่าเชื่อถือบนเวิร์กสเตชันเหล่านั้น

คําแนะนํานี้นําไปใช้เฉพาะกับแอปพลิเคชันที่ใช้ WPF ซึ่งโหลดเอกสาร XPS ผู้ใช้สามารถใช้แอปพลิเคชันตัวแสดง XPS ในตัวของ Windows ต่อไปเพื่อดูเอกสาร XPS ที่ไม่น่าเชื่อถือได้อย่างปลอดภัย แม้แต่ในเครื่องที่ใช้วิธีแก้ไขปัญหาชั่วคราวแทนที่ใช้รีจิสทรี

Microsoft กําลังดําเนินการอะไรเพื่อแก้ไขปัญหาความเข้ากันได้

ปัญหานี้ได้รับการแก้ไขแล้วสําหรับ .NET Framework บางเวอร์ชันในการอัปเดตพิเศษที่เผยแพร่เมื่อวันที่ 31 มกราคม 2023 สําหรับเวอร์ชันของ .NET Framework ที่ยังไม่ได้แก้ไข Microsoft กําลังตรวจสอบการอัปเดตเพิ่มเติมซึ่งจะคืนค่าความเข้ากันได้ พร้อมกับแก้ไขปัญหาด้านความปลอดภัยที่ซ่อนอยู่ด้วย

ข้อมูลเกี่ยวกับการป้องกันและการรักษาความปลอดภัย