Revised August 28, 2024: Update breaking change details to known issue section.

Revised July 30, 2024: Add breaking change information to known issue section. 

Release Date:July 9, 2024

Version: .NET Framework 3.5 and 4.8.1

The July 9, 2024 update for Windows 11, version 21H2 includes security and cumulative reliability improvements in .NET Framework 3.5 and 4.8.1. We recommend that you apply this update as part of your regular maintenance routines. Before you install this update, see the Prerequisites and Restart requirement sections.

Summary

Security Improvements

CVE-2024-38081 - .NET Framework Elevation of Privilege Vulnerability This security update addresses a remote code execution vulnerability detailed in CVE-2024-38081.

Quality and Reliability Improvements

Winforms

- Addresses an issue with the size of memory leaks associated with AccessibleObjects held in memory due to ref-counting.

.NET Fundamentals

- Addresses an issue with x509 certificate use under PPL in Azure AD.

Additional information about this update

The following articles contain additional information about this update as it relates to individual product versions.

  • 5041020 Description of the Cumulative Update for .NET Framework 3.5, 4.8 and 4.8.1 for Windows 11, version 21H2 (KB5041020)

Known issues in this update

Breaking change details

The .NET Framework servicing update released on July 2024 security and quality rollup - .NET Framework contains a security fix addressed an elevation of privilege vulnerability detailed in CVE 2024-38081. The fix changed System.IO.Path.GetTempPath method return value. If windows version exposes the GetTempPath2 Win32 API, this method invokes that API and returns the resolved path. See the Remarks section of the GetTempPath2 documentation for more information on how this resolution is performed, including how to control the return value through the use of environment variables. The GetTempPath2 API may not be available on all versions of Windows.

An observable difference between the GetTempPath and GetTempPath2 Win32 APIs is that they return different values for SYSTEM and non-SYSTEM processes. When calling this function from a process running as SYSTEM it will return the path %WINDIR%\SystemTemp, which is inaccessible to non-SYSTEM processes. This return value for SYSTEM processes cannot be overridden by environment variables. For non-SYSTEM processes, GetTempPath2 will behave the same as GetTempPath, respecting the same environment variables to override the return value.

In some scenarios it may be possible to redirect the Temp folder to a different folder using environment variables or other means. Please refer to the official documentation for the GetTempPath2 Win32 API for the most up to date information on this behavior.

Please reference to the System.IO.Path.GetTempPath API for more information.

Temporary workaround

⚠️ Warning: The opt-out will disable the security fix for the elevation of privilege vulnerability detailed in CVE 2024-38081. The opt-out is only for temporary workaround if you're sure that the software is running in secure environments. Microsoft does not recommend applying this temporary workaround.

Resolution

The API behavior change is by design to address the elevation of privilege vulnerability. Any affected software or application is expected to make code change to adapt to this new design change.

How to get this update

Install this update

Release Channel

Available

Next Step

Windows Update and Microsoft Update

Yes

None. This update will be downloaded and installed automatically from Windows Update.

Windows Update for Business

Yes

None. This update will be downloaded and installed automatically from Windows Update.

Microsoft Update Catalog

Yes

To get the standalone package for this update, go to the Microsoft Update Catalog website.

Windows Server Update Services (WSUS)

Yes

This individual .NET Framework product update will be installed, as applicable, by applying the operating system update. For more information about operating system updates see additional information about this update section.

File information

For a list of the files that are provided in this update, download the file information for cumulative update.

Prerequisites

To apply this update, you must have .NET Framework 3.5 or 4.8.1 installed.

Restart requirement

You must restart the computer after you apply this update if any affected files are being used. We recommend that you exit all .NET Framework-based applications before you apply this update.

How to obtain help and support for this update

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.