Lưu ý
- Ngày phát hành:
Ngày 11 tháng 8, 2020 - Phiên bản:
.NET Framework 4.8
Tóm tắt
Cải tiến về bảo mật
Lỗ hổng nâng đặc quyền tồn tại khi ứng dụng web ASP.NET hoặc .NET Framework chạy trên IIS cho phép truy nhập không đúng cách vào các tệp được lưu trong bộ đệm ẩn. Kẻ tấn công khai thác thành công lỗ hổng này có thể truy cập vào các tệp bị hạn chế. Để khai thác lỗ hổng này, kẻ tấn công cần gửi một yêu cầu được thiết kế đặc biệt đến một máy chủ bị ảnh hưởng. Bản cập nhật này giải quyết lỗ hổng bảo mật bằng cách thay đổi cách ASP.NET và .NET Framework xử lý yêu cầu.
Để tìm hiểu thêm về các lỗ hổng, hãy đi tới các lỗ hổng phổ biến và phơi nhiễm (CVE) sau.
Các cải tiến về chất lượng và độ tin cậy
| CLR1 | - Một thay đổi trong .NET Framework 4.8 đã hồi quy một số kịch bản EnterpriseServices nhất định, trong đó một đối tượng căn hộ đơn luồng có thể được xử lý như một căn hộ đa luồng và dẫn đến lỗi chặn. Thay đổi này giờ nhận dạng chính xác đối tượng căn hộ đơn luồng và tránh được sự cố này. - Khắc phục sự cố trong các tập hợp với dữ liệu hồ sơ IBC khiến các quy trình của công nhân Ngen gặp sự cố và quay trở lại hình ảnh gốc đầy đủ. - Khắc phục các sự cố hiếm gặp có thể xảy ra trong quá trình phân phối huỷ chuỗi. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer có thể khiến các giao dịch đến bảng SQL trong bộ nhớ không thành công. Máy khách có thể thấy ngoại lệ kèm theo thông báo "Hết thời gian chờ thực hiện. Khoảng thời gian chờ đã trôi qua trước khi thao tác hoàn tất hoặc máy chủ không phản hồi." SqlBulkCopy.WriteToServer đang gửi mã thông báo chú ý (thông báo hủy) sau khi gửi dữ liệu đến Sql Server, khiến máy chủ hủy bỏ giao dịch đối với các bảng trong bộ nhớ. |
| ASP.NET | - Sử dụng hàm băm tuân thủ FIPS trong dữ liệu đo từ xa ASP.Net. - Khắc phục sự cố trong đó "Không xác định" không phải là giá trị được phép trong cấu hình cho thuộc tính 'cookieSameSite' của các mục xác thực biểu mẫu và cấu hình trạng thái phiên. |
| WPF2 | - Khắc phục sự cố khi bật tính năng kiểm tra chính tả trong WPF TextBox hoặc RichTextBox, các từ như "etc.", "e.g." được xác định là lỗi chính tả sai. - Khắc phục sự cố khi một số ứng dụng WPF Per-Monitor Aware chạy trên .NET 4.8 đôi khi có thể gặp phải sự cố với exceptionSystem.ComponentModel.Win32Exception. - Khắc phục sự cố trong đó TextBlock dàn lại nội dung (đưa ra các quyết định ngắt dòng khác nhau) trong quá trình kết xuất và kiểm tra lần lượt so với trong quá trình đo lường. Các dấu hiệu bao gồm thiếu văn bản và sự cố FailFast trong quá trình xử lý văn bản theo chương trình. - Khắc phục sự cố với lỗi luồng kết xuất do HostVisual ngắt kết nối mục tiêu trên luồng sai. - Khắc phục sự cố bị treo khi cuộn TreeView có cây không đồng nhất, theo nghĩa là một con của nút nhất định sẽ quản lý các cây con có kích thước khá khác nhau. - Khắc phục sự cố sự cố có thể xảy ra khi đóng chú giải công cụ bị mã người dùng đóng lại. - Khi HwndHost rời khỏi cây trực quan, một dấu vết ngăn xếp sẽ được tạo. Điều này rất tốn kém và thường là không cần thiết. Logic hiện đã được thay đổi để tạo dấu vết ngăn xếp chỉ khi điều kiện bất thường xảy ra. - Khắc phục lỗi rò bộ nhớ trong System.Speech.SpeechSynthesizer. - Lệnh Sao chép của DataGrid trả về một ngoại lệ nếu khay nhớ tạm hệ thống bị khóa bởi một quy trình khác. Điều này xảy ra sự cố vì thường không có mã ứng dụng trên ngăn xếp để phát hiện ngoại lệ. Hành vi của TextBox (và các ứng dụng khác như Notepad, Word, trình duyệt) trong trường hợp này là lỗi lặng lẽ - không có gì được sao chép vào bảng tạm nhưng không có ngoại lệ. Ứng dụng WPF bây giờ có thể chọn tham gia hành vi này bằng cách đặt <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>trong tệp app.config của nó. - Khắc phục sự cố khi xây dựng mô hình nội bộ cho tài liệu FixedPage. Một số văn bản xuất hiện theo thứ tự sai cho mục đích của các thao tác chỉnh sửa, chẳng hạn như chọn và sao chép/dán. |
| WCF3 | - Khi sử dụng tên người dùng Windows UPN có định dạng tương tự như trong username@dns.domain thuộc tính tên người dùng của NetworkCredential khi sử dụng NetTcpBinding hoặc NetNamedPipeBinding, WCF sẽ phân tách sai tên người dùng và dns.domain, đặt chúng vào các thuộc tính Tên người dùng và Miền. Điều này không hợp lệ trong một số kịch bản và có thể dẫn đến việc không xác thực được. Bản sửa lỗi này sẽ loại bỏ sửa đổi thông tin xác thực khi sử dụng tên người dùng UPN. Có thể bật lại sửa đổi bằng cách đặt AppSetting "wcf:enableLegacyUpnUsernameFix" thành true. |
| Net Libraries | - Khắc phục sự cố rò rỉ bộ nhớ trong HttpListener. |
| Biểu mẫu Winforms | - Khắc phục sự cố với trạng thái IsReadOnlyaccessibility của DataGridView: Trình tường thuật và các công cụ trợ năng khác sẽ thông báo trạng thái ô chỉ đọc tương ứng. - Khắc phục sự cố hồi quy trong .NET Framework 4.8 khi các ứng dụng sử dụng loại ô DataGridView ComboBox và đã chọn tham gia Trợ năng Mức 3 có thể gặp phải sự cố gián đoạn trong khi chỉnh sửa ô. - Khắc phục sự cố trong ClickOnce RFC3161 mã xác minh dấu thời gian. |
| Cải tiến Trợ năng trong WinForms | Trong bản phát hành này, chúng tôi sẽ thêm các cải tiến trợ năng mới mà ứng dụng của bạn có thể chọn tham gia. Theo mặc định, những thay đổi này được tắt. Các ứng dụng chọn tham gia các tính năng trợ năng đã được giới thiệu trong .NET 4.8 và các phiên bản cũ hơn có thể thêm khóa chuyển tương thích sau đây vào tệp cấu hình của ứng dụng:"Switch.UseLegacyAccessibilityFeatures.4=false"Cụ thể, nếu một ứng dụng nhắm mục tiêu .NET 4.8, hãy thêm mục AppContextSwitchOverrides sau: <?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/; </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" /> </runtime> </configuration>Nếu một ứng dụng nhắm mục tiêu đến một phiên bản trước của framework và chọn tham gia vào các bộ tính năng trợ năng đã phát hành trước đó, hãy thêm một khóa chuyển duy nhất "Switch.UseLegacyAccessibilityFeatures.4=false" vào mục hiện có AppContextSwitchOverrides :<?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/; </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value=Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/> </runtime> </configuration>Các cải tiến về khả năng truy nhập Winforms có trong bản phát hành này là:- Khắc phục sự cố với việc thông báo các mục và danh mục điều khiển PropertyGrid đã được mở rộng/thu gọn trạng thái bởi Bộ đọc màn hình. - Cập nhật các mẫu điều khiển Lưới thuộc tính có thể truy cập và các yếu tố bên trong của nó. - Cập nhật tên có thể truy cập của các thành phần bên trong điều khiển Lưới thuộc tính để bộ đọc màn hình thông báo chính xác những thành phần này. - Các thuộc tính có thể truy nhập hình chữ nhật Addressesbounding cho các điều khiển PropertyGridView - Cho phép bộ đọc màn hình thông báo chính xác trạng thái đã mở rộng/thu gọn ô DataGridView ComboBox. |
1 Thời gian chạy Ngôn ngữ Chung (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
Những sự cố đã biết trong bản cập nhật này
Các ứng dụng Windows Presentation Framework (WPF) sử dụng hai hoặc nhiều thành phần HostVisual thuộc về một luồng chung, trong đó cả hai thành phần HostVisual được yêu cầu ngắt kết nối khỏi đích trực quan của chúng gần như cùng một lúc, thì thư sẽ bị lỗi với lỗi sau đây:
Loại ngoại lệ: System.COMException
Thông báo: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Ngăn xếp cuộc gọi: khung trên cùng là System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Giải pháp thay thế
Bạn có thể tắt bản sửa lỗi có vấn đề bằng cách đặt khóa chuyển AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" thành true, bằng cách sử dụng một trong các phương pháp được mô tả ở đây. Thao tác này khiến ứng dụng của bạn gặp phải lỗi ban đầu, vì vậy bạn nên loại bỏ khóa chuyển sau khi bản sửa lỗi được phát hành thông qua bản cập nhật sắp tới.
Giải pháp thay thế 1
• Thêm mục nhập sau vào tệp app.config để tắt bản sửa lỗi có vấn đề trong một ứng dụng duy nhất.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</thời gian chạy>
Lưu ý rằng nếu cấu hình ứng dụng của bạn đã có mục nhập cho <AppContextSwitchOverrides>, bạn cần thêm cài đặt mới trong mục nhập đó, tách biệt với các khóa chuyển khác bằng dấu chấm phẩy:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Giải pháp thay thế 2
• Áp dụng khóa phụ đăng ký sau đây để tắt bản sửa lỗi có vấn đề cho tất cả các ứng dụng WPF trên máy.
Cảnh báo
Các vấn đề nghiêm trọng có thể xảy ra nếu bạn sửa đổi sổ đăng ký không đúng cách bằng cách sử dụng Trình soạn thảo Sổ đăng ký hoặc bằng phương pháp khác. Những vấn đề này có thể yêu cầu bạn phải cài đặt lại hệ điều hành. Microsoft không thể bảo đảm có thể giải quyết những vấn đề này. Bạn phải tự chịu rủi ro khi sửa đổi sổ đăng ký.
Vị trí: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Tên: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Loại: Chuỗi
Giá trị: true
Lưu ý rằng trên các hệ điều hành 64 bit, bạn cũng cần áp dụng khóa con đăng ký có cùng tên, loại và giá trị tại vị trí: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Giải pháp
Chúng tôi đang tìm cách giải quyết và sẽ cung cấp bản cập nhật trong bản phát hành sắp tới.
Cách tải bản cập nhật này
Cài đặt bản cập nhật này
| Kênh phát hành | Sẵn dùng | Bước tiếp theo |
|---|---|---|
| Windows Update và Microsoft Update | Có | Không có. Bản cập nhật này sẽ được tải xuống và cài đặt tự động từ Windows Update. |
| Danh mục Microsoft Update | Có | Để tải gói độc lập cho bản cập nhật này, hãy truy cập trang web Danh mục Microsoft Update. |
| Dịch vụ cập nhật Windows Server (WSUS) | Có | Bản cập nhật này sẽ tự động đồng bộ với WSUS nếu bạn đặt cấu hình Các sản phẩm và Phân loại như sau: Sản phẩm:Windows 10 Phiên bản 1803 Phân loại: Bản cập nhật Bảo mật |
Thông tin tệp
Để tìm hiểu danh sách các tệp được cung cấp trong bản cập nhật này, hãy tải xuống thông tin tệp cho bản cập nhật tích lũy.
Thông tin về bảo vệ và bảo mật
- Tự bảo vệ bạn trực tuyến: Hỗ trợ Bảo mật Windows
- Tìm hiểu cách chúng tôi bảo vệ trước các mối đe dọa trên mạng: Bảo mật của Microsoft