หมายเหตุ
- วันที่วางจําหน่าย:
ตุลาคม 13, 2020 - เวอร์ชัน:
.NET Framework 4.8
สรุป
การปรับปรุงความปลอดภัย
ช่องโหว่ของการเปิดเผยข้อมูลมีอยู่เมื่อ .NET Framework จัดการวัตถุในหน่วยความจําอย่างไม่ถูกต้อง ผู้โจมตีที่สามารถใช้ประโยชน์จากช่องโหว่ได้สําเร็จสามารถเปิดเผยเนื้อหาในหน่วยความจําของระบบที่ได้รับผลกระทบ เมื่อต้องการใช้ประโยชน์จากช่องโหว่ ผู้โจมตีที่ได้รับการรับรองความถูกต้องจะต้องเรียกใช้แอปพลิเคชันที่ได้รับการออกแบบเป็นพิเศษ การอัปเดตนี้แก้ไขช่องโหว่ด้วยการแก้ไขวิธีที่ .NET Framework จัดการวัตถุในหน่วยความจํา
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับช่องโหว่ ให้ไปที่ช่องโหว่ทั่วไปและการเปิดเผย (CVE) ต่อไปนี้
การปรับปรุงคุณภาพและความน่าเชื่อถือ
| WCF1 | - แก้ไขปัญหาเกี่ยวกับบริการ WCF ในบางครั้งล้มเหลวในการเริ่มต้นบริการหลายรายการพร้อมกัน |
|---|---|
| Winforms | - แก้ไขปัญหาการถดถอยที่นํามาใช้ใน .NET Framework 4.8 ที่คุณสมบัติ Control.AccessibleName, Control.AccessibleRole และ Control.AccessibleDescription หยุดทํางานสําหรับตัวควบคุมต่อไปนี้:Label, GroupBox, ToolStrip, ToolStripItems, StatusStrip, StatusStripItems, PropertyGrid, ProgressBar, ComboBox, MenuStrip, MenuItems, DataGridView - แก้ไขการถดถอยของชื่อที่เข้าถึงได้สําหรับรายการกล่องคําสั่งผสมสําหรับกล่องคําสั่งผสมที่ผูกข้อมูลไว้ .NET Framework 4.8 เริ่มใช้ชื่อชนิดแทนค่าของคุณสมบัติ DisplayMember เป็นชื่อที่สามารถเข้าถึงได้ การปรับปรุงนี้ใช้ DisplayMember อีกครั้ง |
| ASP.NET | - ปิดใช้งานการนํา AppPathModifier กลับมาใช้ในเอาต์พุต ASP.Net ควบคุม - วัตถุ HttpCookie ในบริบทการร้องขอ ASP.Net จะถูกสร้างด้วยค่าเริ่มต้นที่กําหนดค่าไว้สําหรับสถานะคุกกี้แทน ค่าเริ่มต้นดั้งเดิมสไตล์ NET เพื่อให้ตรงกับลักษณะการทํางานของ 'new HttpCookie(name)' |
| SQL | - แก้ไขปัญหาความล้มเหลวที่เกิดขึ้นบางครั้งเมื่อผู้ใช้เชื่อมต่อกับฐานข้อมูล Azure SQL หนึ่ง ดําเนินการตามการปิดล้อม แล้วเชื่อมต่อกับฐานข้อมูลอื่นภายใต้เซิร์ฟเวอร์เดียวกันที่มี URL การรับรองเดียวกัน และดําเนินการปิดวงล้อมบนเซิร์ฟเวอร์ที่สอง |
| CLR2 | - เพิ่มตัวแปรการกําหนดค่า CLR Thread_AssignCpuGroups (1 ตามค่าเริ่มต้น) ที่สามารถตั้งค่าเป็น 0 เพื่อปิดใช้งานการกําหนดกลุ่ม CPU อัตโนมัติที่ทําโดย CLR สําหรับเธรดใหม่ที่สร้างขึ้นโดย Thread.Start() และเธรดพูล เพื่อให้แอปสามารถกระจายเธรดของตัวเองได้ - แก้ไขปัญหาความเสียหายของข้อมูลที่อาจเกิดขึ้นได้เมื่อใช้ API ใหม่ เช่น Unsafe.ByteOffset<T> ซึ่งมักจะใช้กับชนิด Span ใหม่ ความเสียหายอาจเกิดขึ้นเมื่อดําเนินการ GC ขณะที่เธรดกําลังเรียกใช้ Unsafe.ByteOffset<T> จากภายในลูป - แก้ไขปัญหาเกี่ยวกับตัวจับเวลาที่มีเวลาครบกําหนดนานมากเกิดการพิมพ์เร็วขึ้นกว่าที่คาดไว้เมื่อเปิดใช้งานสวิตช์ AppContext "Switch.System.Threading.UseNetCoreTimer" |
1 Windows Communication Foundation (WCF)
2 รันไทม์ภาษาทั่วไป (CLR)
ปัญหาที่ทราบแล้วในการอัปเดตนี้
แอปพลิเคชัน ASP.Net ล้มเหลวในระหว่างการคอมไพล์ล่วงหน้าโดยมีข้อความแสดงข้อผิดพลาด
อาการ
หลังจากที่คุณใช้การเปิดตัวด้านความปลอดภัยและคุณภาพสําหรับ .NET Framework 4.8 วันที่ 13 ตุลาคม 2020 นี้ แอปพลิเคชัน ASP.Net บางตัวจะล้มเหลวระหว่างการคอมไพล์ล่วงหน้า ข้อความแสดงข้อผิดพลาดที่คุณได้รับอาจมีคําว่า "ข้อผิดพลาด ASPCONFIG"
สาเหตุ
สถานะการกําหนดค่าไม่ถูกต้องในส่วน "sessionState", "anonymouseIdentification" หรือ "authentication/forms" ของการกําหนดค่า "System.web" ปัญหานี้อาจเกิดขึ้นระหว่างรูทีนการสร้างและประกาศ ถ้าการแปลงการกําหนดค่าออกจากไฟล์ Web.config ในสถานะระดับกลางสําหรับการคอมไพล์ล่วงหน้า
วิธีแก้ไขปัญหา
ลูกค้าที่สังเกตเห็นความล้มเหลวที่ไม่คาดคิดหรือปัญหาการทํางานสามารถปรับใช้การตั้งค่าแอปพลิเคชัน โดยการเพิ่ม (หรือรวม) โค้ดต่อไปนี้ลงในไฟล์การกําหนดค่าแอปพลิเคชัน การตั้งค่า "จริง" หรือ "เท็จ" จะช่วยหลีกเลี่ยงปัญหา อย่างไรก็ตาม เราขอแนะนําให้คุณตั้งค่านี้เป็น "จริง" สําหรับไซต์ที่ไม่ได้ใช้ฟีเจอร์แบบไร้คุกกี้
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key=”aspnet:DisableAppPathModifier” value=”true” />
</appSettings>
</configuration>
แอปพลิเคชัน ASP.Net อาจไม่ส่งโทเค็นแบบไร้คุกกี้ใน URI
อาการ
หลังจากที่คุณใช้การเปิดตัวด้านความปลอดภัยและคุณภาพสําหรับ .NET Framework 4.8 ในวันที่ 1 ตุลาคม 2020 นี้ แอปพลิเคชัน ASP.Net บางอย่างอาจไม่ส่งโทเค็นแบบไร้คุกกี้ใน URI ซึ่งอาจส่งผลให้เกิดการวนรอบการเปลี่ยนเส้นทาง 302 ครั้ง หรือสถานะเซสชันสูญหายหรือขาดหายไป
สาเหตุ
ฟีเจอร์ ASP.Net สําหรับสถานะเซสชัน การระบุตัวแบบไม่ระบุชื่อ และการรับรองความถูกต้องของฟอร์มล้วนขึ้นอยู่กับการออกโทเค็นไปยังเว็บไคลเอ็นต์ และทั้งหมดนี้อนุญาตตัวเลือกสําหรับโทเค็นเหล่านั้นที่จะส่งในคุกกี้หรือฝังใน URI สําหรับไคลเอ็นต์ที่ไม่สนับสนุนคุกกี้ การฝัง URI เป็นแนวทางปฏิบัติที่ไม่ปลอดภัยและไม่แนะนํามานานแล้ว และ KB นี้จะปิดใช้งานการออกโทเค็นใน URI อย่างเงียบๆ เว้นแต่หนึ่งในสามฟีเจอร์นี้จะร้องขอโหมดคุกกี้ "UseUri" ในการกําหนดค่าอย่างชัดเจน การกําหนดค่าที่ระบุ "AutoDetect" หรือ "UseDeviceProfile" อาจส่งผลให้มีการพยายามฝังโทเค็นเหล่านี้ในการ URI และล้มเหลวโดยไม่ได้ตั้งใจ
วิธีแก้ไขปัญหา
ลูกค้าที่สังเกตเห็นลักษณะการทํางานที่ไม่คาดคิดใหม่จะได้รับคําแนะนําให้เปลี่ยนการตั้งค่าแบบไร้คุกกี้ทั้งสามรายการเป็น "UseCookies" หากเป็นไปได้
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<anonymousidentification cookieless="UseCookies" />
<sessionState cookieless="UseCookies" />
<authentication>
<forms cookieless="UseCookies" />
</authentication>
</system.web>
</configuation>
ถ้าแอปพลิเคชันต้องใช้โทเค็นแบบฝังตัว URI ต่อไปและสามารถทําเช่นนั้นได้อย่างปลอดภัย คุณก็สามารถเปิดใช้งานได้อีกครั้งด้วยการตั้งค่าแอปต่อไปนี้ แต่ขอแนะนําอย่างยิ่งให้ย้ายออกจากการฝังโทเค็นเหล่านี้ใน URI
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="aspnet:DisableAppPathModifier" value="false" />
</appSettings>
</configuation>
วิธีรับการอัปเดตนี้
ติดตั้งการอัปเดตนี้
| ช่องทางการเผยแพร่ | พร้อมใช้งาน | ขั้นตอนถัดไป |
|---|---|---|
| Windows Update และ Microsoft Update | ใช่ | ไม่มี การอัปเดตนี้จะถูกดาวน์โหลดและติดตั้งโดยอัตโนมัติจาก Windows Update |
| Microsoft Update Catalog | ใช่ | เมื่อต้องการขอรับแพคเกจสแตนด์อโลนสำหรับการอัปเดตนี้ ให้ไปที่เว็บไซต์ Microsoft Update Catalog |
| Windows Server Update Services (WSUS) | ใช่ | การอัปเดตนี้จะซิงค์กับ WSUS โดยอัตโนมัติหากคุณกำหนดค่าผลิตภัณฑ์และการจำแนกประเภทดังต่อไปนี้: สินค้า:Windows 10 เวอร์ชัน 1803 การจำแนกประเภท: การอัปเดตความปลอดภัย |
ข้อมูลไฟล์
สําหรับลิสต์ของไฟล์ที่ระบุในการอัปเดตนี้ ให้ดาวน์โหลดข้อมูลไฟล์สําหรับการอัปเดตแบบสะสม
ข้อมูลเกี่ยวกับการป้องกันและการรักษาความปลอดภัย
- ปกป้องตัวคุณเองทางออนไลน์: การสนับสนุนความปลอดภัยของ Windows
- เรียนรู้วิธีที่เราป้องกันภัยคุกคามทางไซเบอร์: ความปลอดภัยของ Microsoft