.NET Framework September 2020 Cumulative Update Preview Update
Revised 1/15/2021: Added known issues details for ASP.Net applications may not deliver cookieless tokens in the URI
Today, we are releasing the September 2020 Cumulative Update Preview Updates for .NET Framework.
Quality and Reliability
This release contains the following quality and reliability improvements.
- Disabled resuse of AppPathModifier in ASP.Net control output.
- HttpCookie objects in the ASP.Net request context will be created with configured defaults for cookie flags instead instead of .Net.NET-style primitive defaults to match the behavior of `new HttpCookie(name)`.
- Added a CLR config variable Thread_AssignCpuGroups (1 by default) that can be set to 0 to disable automatic CPU group assignment done by the CLR for new threads created by Thread.Start() and thread pool threads, such that an app may do its own thread-spreading.
- Addressed a rare data corruption that can occur when using new API’s such as Unsafe.ByteOffset which are often used with the new Span types. The corruption could occur when a GC operation is performed while a thread is calling Unsafe.ByteOffset from inside of a loop.
- Addressed an issue regarding timers with very long due times ticking down much sooner than expected when the AppContext switch “Switch.System.Threading.UseNetCoreTimer” is enabled.
- Addressed a failure that sometimes occured when a user connected to one Azure SQL database, performed an enclave based operation, and then connected to another database under the same server that has the same Attestation URL and performed an enclave operation on the second server.
- Addressed an issue with WCF services sometimes failing to start when starting multiple services concurrently.
- Addressed a regression introduced in .NET Framework 4.8, where Control.AccessibleName, Control.AccessibleRole, and Control.AccessibleDescription properties stopped working for the following controls:Label,GroupBox,ToolStrip,ToolStripItems,StatusStrip,StatusStripItems,PropertyGrid,ProgressBar,ComboBox,MenuStrip,MenuItems,DataGridView.
- Addressed a regression in accessible name for combo box items for data bound combo boxes. .NET Framework 4.8 RTM started using type name instead of the value of the DisplayMember property as an accessible name, this fiximprovement uses the DisplayMember again.
1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF)
Known issues in this security update
ASP.Net applications fail during precompilation with error message
Symptoms After you apply this October 13, 2020 Security and Quality Rollup for .NET Framework 4.8, some ASP.Net applications fail during precompilation. The error message that you receive will likely contain the words “Error ASPCONFIG.”
Cause An invalid configuration state in either the “sessionState,” “anonymouseIdentification,” or “authentication/forms” sections of “System.web” configuration. This might occur during build-and-publish routines if configuration transformations leave the Web.config file in an intermediate state for precompilation.
Workaround Customers who observe new unexpected failures or functional issues can implement an application setting by adding (or merging) the following code to the application configuration file. Setting either “true” or “false” will avoid the issue. However, we recommend that you set this value to “true” for sites that do not rely on cookieless features.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key=”aspnet:DisableAppPathModifier” value=”true” /> </appSettings> </configuration>
ASP.Net applications may not deliver cookieless tokens in the URI
Symptoms After you apply this October 1, 2020 Security and Quality Rollup for .NET Framework 4.8, some ASP.Net applications may not deliver cookieless tokens in the URI, possibly resulting in 302-redirect loops or lost or missing session state.
Cause The ASP.Net features for Session State, Anonymous Identification, and Forms Authentication all rely on issuing tokens to a web client, and they all allow the option for those tokens to be delivered in a cookie or embedded in the URI for clients that don’t support cookies. The URI-embedding has long been an insecure and disrecommended practice and this KB quietly disables issuing tokens in URI’s unless one of these three features explicitly requests a cookie mode of “UseUri” in configuration. Configurations that specify “AutoDetect” or “UseDeviceProfile” may inadvertently result in attempted and failed embedding of these tokens in the URI.
Workaround Customers who observe new unexpected behavior are recommended to change all three cookieless settings to “UseCookies” if possible.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <anonymousidentification cookieless="UseCookies" /> <sessionState cookieless="UseCookies" /> <authentication> <forms cookieless="UseCookies" /> </authentication> </system.web> </configuration>
If an application absolutely must continue using URI-embedded tokens and can do so safely, then they can be re-enabled with the following appSeting. But again, it is highly recommended to move away from embedding these tokens in URI’s.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="aspnet:DisableAppPathModifier" value="false" /> </appSettings> </configuration>
Getting the Update
The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog.
Microsoft Update Catalog
You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update and Microsoft Update Catalog. Updates for other versions of .NET Framework are part of the Windows 10 Monthly Cumulative Update.
**Note**: Customers that rely on Windows Update will automatically receive the .NET Framework version-specific updates. Advanced system administrators can also take use of the below direct Microsoft Update Catalog download links to .NET Framework-specific updates. Before applying these updates, please ensure that you carefully review the .NET Framework version applicability, to ensure that you only install updates on systems where they apply.
The following table is for Windows 10 and Windows Server 2016+ versions.
|Product Version||Cumulative Update|
|Windows 10 1909 and Windows Server, version 1909|
|.NET Framework 3.5, 4.8||Catalog||4576947|
|Windows 10 1903 and Windows Server, version 1903|
|.NET Framework 3.5, 4.8||Catalog||4576947|
|Windows 10 1809 (October 2018 Update) and Windows Server 2019||4577324|
|.NET Framework 3.5, 4.7.2||Catalog||4576949|
|.NET Framework 3.5, 4.8||Catalog||4576946|
Previous Cumulative Updates
The last few .NET Framework updates are listed below for your convenience:
- .NET Framework September 2020 Security and Quality Rollup Updates
- .NET Framework September 3, 2020 Cumulative Update Preview for Windows 10 2004 and Windows Server, version 2004
- .NET Framework August 2020 Cumulative Update Preview
- .NET Framework August 2020 Security and Quality Rollup Updates
The cumulative update PREVIEW is being listed in Windows Updates for Windows 10 as a normal “required” update, but it’s supposed to be optional!
Is there a problem on your end??
Please fix this…I’m a .Net developer, but I don’t want “preview” updates, only final ones.
Agreed. Microsoft Update is a mess! Until it’s fixed, never press the “Check for Updates” button! These previews will not install automatically – only if you press that button. They should be marked as optional even if you press the button. FIX THIS MICROSOFT!
Windows Update is a bifurcated mess
This update pretty much broke my computer. It attempted to install, but it keeps failing. Its like it only partially updated. It keeps failing to update over and over. Now it barely runs. It is a gaming computer and was super fast. A lot of things will not load. I cant update my video card (it is having issues since the attempted update). Not happy at all. Nothing was broke with my windows. Why try to make a bunch of changes?