Skip to content
.NET security updates

.NET security updates

github.com • October 27, 2026

A buffer overflow vulnerability exists in the Brotli decompression library used by .NET. This vulnerability may allow an unauthenticated attacker to read or corrupt process memory. This could lead to information disclosure, denial of service, or elevation of privilege.

ASP.NET Core and HttpClient do not automatically decompress Brotli data in their default configurations. Applications are exposed when they enable Brotli decompression or explicitly use Brotli decompression APIs to process attacker-controlled data, as described below. .NET Framework is not affected.

Discussion for this issue can be found at dotnet/runtime#136446

Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C

Weakness: CWE-787 (Out-of-bounds Write)

ASP.NET Core request decompression and HttpClient automatic response decompression are not enabled by default. An application is not exposed merely because an affected .NET package is installed. Exposure requires the application to decompress attacker-controlled Brotli data through one of these paths:

Enable ASP.NET Core automatic request decompression with Brotli ( br ) support.

Enable HttpClient automatic response decompression by configuring HttpClientHandler.AutomaticDecompression or SocketsHttpHandler.AutomaticDecompression to include DecompressionMethods.Brotli or DecompressionMethods.All .

Explicitly use Brotli decompression APIs in System.IO.Compression , such as BrotliStream or BrotliDecoder .

Until the update can be deployed, avoid decompressing attacker-controlled Brotli data.

The following examples show how to disable Brotli decompression if you are already using it.

Warning: Do not use these code snippets if you are not already using decompression. Do not introduce a call to AddRequestDecompression if your application does not already call it. Similarly, do not introduce an AutomaticDecompression property assignment if your application does not already set that property. Modify only your existing decompression configuration. Enabling automatic decompression can introduce denial-of-service risks even when Brotli is excluded.

Warning: Do not use these code snippets if you are not already using decompression. Do not introduce a call to AddRequestDecompression if your application does not already call it. Similarly, do not introduce an AutomaticDecompression property assignment if your application does not already set that property. Modify only your existing decompression configuration. Enabling automatic decompression can introduce denial-of-service risks even when Brotli is excluded.

If you are already using Brotli request decompression in ASP.NET Core, exclude it by removing the br entry from your existing decompression configuration. This retains the default gzip and deflate providers:

If your application already enables HttpClient automatic response decompression, disable Brotli by updating the flags on your existing handler so they do not include DecompressionMethods.Brotli :

Applications that directly use Brotli decompression APIs must stop passing untrusted Brotli data to those APIs until updated. Ensure that other application code does not continue to decompress the same untrusted Brotli data. These changes can affect normal request and response handling and should be tested before deployment. Installing the security update remains the recommended fix.

The vulnerability affects .NET applications using an affected Brotli decoder in the runtime or NativeAOT packages listed below.

How do I know if I am affected?

You are affected if your application uses an affected Brotli decoder included in a package listed in affected packages , including a decoder linked into a NativeAOT application, to decompress attacker-controlled data. See mitigations for the affected usage paths and default settings.

How do I fix the issue?

Install the updated runtime or SDK for the .NET version used by your application. If your application directly references an affected package, update that reference to the patched version listed above.

Download .NET from .

If you're using .NET 8.0, you should download and install .NET 8.0.33 Runtime or .NET 8.0.133 or 8.0.427 SDK from .

If you're using .NET 9.0, you should download and install .NET 9.0.22 Runtime or .NET 9.0.123 or 9.0.320 SDK from .

If you're using .NET 10.0, you should download and install .NET 10.0.14 Runtime or .NET 10.0.114 or 10.0.403 SDK from .

If you're using .NET 11.0, you should download and install .NET 11.0.0-rc.3.26522.148 Runtime or .NET 11.0.100-rc.3.26522.148 SDK from .

Once you have installed the updated runtime or SDK, restart your apps for the update to take effect.

If you have deployed self-contained applications , rebuild and redeploy those applications with the updated runtime.

For NativeAOT applications, update the SDK and any explicit compiler or runtime-pack references to patched versions, then republish and redeploy the application. Updating the machine's shared runtime alone does not replace a decoder already linked into a NativeAOT executable.

Reporting Security Issues

If you have found a potential security issue in a supported version of .NET, please report it to the Microsoft Security Response Center (MSRC) via the MSRC Researcher Portal . Further information can be found in the MSRC Report an Issue FAQ .

Security reports made through MSRC may qualify for the Microsoft .NET Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at .

You can ask questions this issue on GitHub in the .NET GitHub organization. The main repos are located at . The Announcements repo ( ) will contain this bulletin as an issue and will include a link to a discussion issue. You can ask questions in the linked discussion issue.

The information provided in this advisory is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

V1.0 (10/25/2026): Initial advisory.

bribrothers added Security Patch-Tuesday .NET 8.0 .NET 9.0 .NET 10.0 .NET 11.0 on Oct 25, 2026

dotnet locked and limited conversation to collaborators on Oct 25, 2026