KB5039885: Cumulative update for .NET Framework, version 4.8, on Windows 10 1607 and Windows Server 2016, July 2024. System.IO.Path.GetTempPath behavior changes; memory leaks addressed
The update fixes an elevation-of-privilege vulnerability, changes the temporary-folder path returned by System.IO.Path.GetTempPath for SYSTEM processes, and addresses a Windows Forms memory-leak issue.
Does it affect you? Applies to: Devices running Windows 10, version 1607, or Windows Server 2016 with .NET Framework 4.8 installed.
Review notes Additional details from the official release notes (3) Read notes
- In short The behavior change applies when the Windows version exposes the GetTempPath2 API. In that case, calls from SYSTEM processes return %WINDIR%\SystemTemp.
- In detail The behavior change applies when the Windows version exposes the GetTempPath2 API. In that case, calls from SYSTEM processes return %WINDIR%\SystemTemp.
- What changes The behavior change applies when the Windows version exposes the GetTempPath2 API. In that case, calls from SYSTEM processes return %WINDIR%\SystemTemp.
The official sources are linked at the end of the page.
What changes
Fixes 3 changes
.NET Framework
-
An elevation-of-privilege vulnerability in .NET Framework is addressed.1
Addresses CVE-2024-38081.
Windows Forms
For: Windows Forms users
-
The size of memory leaks involving AccessibleObjects held in memory is addressed.2
The issue is associated with ref-counting.
System.IO.Path.GetTempPath
For: Applications that call the API, especially those running as SYSTEM
-
The temporary-folder path returned to SYSTEM processes changes to
%WINDIR%\SystemTemp, which non-SYSTEM processes cannot access. Affected software may need code changes to work with the new behavior.3When the Windows version exposes theGetTempPath2Win32 API,System.IO.Path.GetTempPathinvokes it. The return value for SYSTEM processes cannot be overridden by environment variables.
Technical details
Data sheet · Security · Downloads · Components Click to collapse or expand
Data sheet
- Released
- 2024-07-09
- Classification
- Security Updates
- Type
- Cumulative update
- Restart
- Required
- Replaces
- KB5037926, KB5036609
- Replaced by
- KB5044021
| Version | File version | Channel |
|---|---|---|
| 4.8 | 4.8.4739.0 | General availability |
Security
| Vulnerability | Severity | CVSS |
|---|---|---|
|
.NET, .NET Framework, and Visual Studio Elevation of Privilege Vulnerability
|
Important | 7.3 |
Downloads (Microsoft Update Catalog)
Updated components
35 files changed since the previous update for the same versions.
| Top changed components | Files |
|---|---|
| .NET runtime (CLR) | 12 |
| ASP.NET | 6 |
| Windows Forms | 2 |
| WPF | 2 |
Verified in package: changed files confirm Windows Forms.
Sources
Cited passages from Microsoft's official notes (3)
-
1.
CVE-2024-38081 - .NET Framework Elevation of Privilege Vulnerability
support.microsoft.com -
2.
Addresses an issue with the size of memory leaks associated with AccessibleObjects held in memory due to ref-counting.
support.microsoft.com -
3.
When calling this function from a process running as SYSTEM it will return the path %WINDIR%\SystemTemp, which is inaccessible to non-SYSTEM processes.
support.microsoft.com
Checked automatically: 8 of 8 checks passed, 3 quoted passages · compared with Microsoft's page on Oct 20, 2026
- Quotes found in the official pages: passed
- Numbers found in the sources: passed
- Vulnerabilities from the dossier only: passed
- Links to allowed domains only: passed
- Every official change covered: passed
- Readable plain text: passed
- Changes confirmed by the file list: passed
- Sources agree: passed
A second AI read the text against the sources: correctness 4/5, clarity 4/5, completeness 5/5. How we work
Published by The Update Bureau. Written with AI from Microsoft's own documents, checked by rules and a second AI. How we work · Report a mistake