KEVWire

Security intelligence, with context.

Response snapshot Nov 3, 2026, 19:21 UTC

Back to the wire
Permalink
VulnerabilityGHSA-p3jp-9v83-76w9

Microsoft Security Advisory CVE-2026-111497 - .NET Brotli Decoder Out-of-bounds Write Vulnerability

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.

At a glance

Exploited
Not known
Severity
Not scored yet
Chance of exploitation
Not estimated
Sources
1 source

What to do

GitHub lists first patched versions: Microsoft.DotNet.ILCompiler: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.ios-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-x64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-x64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-x64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.osx-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.osx-x64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.tvos-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.android-arm: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.android-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.android-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.android-x86: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.browser-wasm: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.ios-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.linux-arm: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.linux-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.linux-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.osx-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.osx-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.tvos-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.wasi-wasm: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.win-x64: 8.0.33; Microsoft.NETCore.App.Runtime.Mono.win-x86: 8.0.33; Microsoft.NETCore.App.Runtime.linux-arm: 8.0.33; Microsoft.NETCore.App.Runtime.linux-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.linux-bionic-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.linux-bionic-x64: 8.0.33; Microsoft.NETCore.App.Runtime.linux-musl-arm: 8.0.33; Microsoft.NETCore.App.Runtime.linux-musl-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.linux-musl-x64: 8.0.33; Microsoft.NETCore.App.Runtime.linux-x64: 8.0.33; Microsoft.NETCore.App.Runtime.osx-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.osx-x64: 8.0.33; Microsoft.NETCore.App.Runtime.win-arm64: 8.0.33; Microsoft.NETCore.App.Runtime.win-x64: 8.0.33; Microsoft.NETCore.App.Runtime.win-x86: 8.0.33; Microsoft.DotNet.ILCompiler: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.ios-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-arm: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-arm: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.linux-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.osx-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.osx-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.tvos-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.win-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.win-x64: 9.0.22; Microsoft.NETCore.App.Runtime.NativeAOT.win-x86: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.android-arm: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.android-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.android-x64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.android-x86: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.browser-wasm: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.ios-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.tvos-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64: 9.0.22; Microsoft.NETCore.App.Runtime.Mono.wasi-wasm: 9.0.22; Microsoft.NETCore.App.Runtime.linux-arm: 9.0.22; Microsoft.NETCore.App.Runtime.linux-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.linux-bionic-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.linux-bionic-x64: 9.0.22; Microsoft.NETCore.App.Runtime.linux-musl-arm: 9.0.22; Microsoft.NETCore.App.Runtime.linux-musl-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.linux-musl-x64: 9.0.22; Microsoft.NETCore.App.Runtime.linux-x64: 9.0.22; Microsoft.NETCore.App.Runtime.osx-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.osx-x64: 9.0.22; Microsoft.NETCore.App.Runtime.win-arm64: 9.0.22; Microsoft.NETCore.App.Runtime.win-x64: 9.0.22; Microsoft.NETCore.App.Runtime.win-x86: 9.0.22; Microsoft.DotNet.IL

Read GitHub-reviewed advisory GHSA-p3jp-9v83-76w9 (opens a new tab)

What happened

Executive summary

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.

Announcement

Continue reading

Announcement for this issue can be found at https://github.com/dotnet/announcements/issues/494

CVSS Details

- Version: 3.1 - Severity: High - Score: 8.1 - 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)

Affected Platforms

- Platforms: All - Architectures: All

Mitigations

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](https://learn.microsoft.com/aspnet/core/fundamentals/middleware/request-decompression) with Brotli (br) support. - Enable HttpClient automatic response decompression by configuring [HttpClientHandler.AutomaticDecompression](https://learn.microsoft.com/dotnet/api/system.net.http.httpclienthandler.automaticdecompression) or [SocketsHttpHandler.

AutomaticDecompression](https://learn.microsoft.com/dotnet/api/system.net.http.socketshttphandler.automaticdecompression) to include [DecompressionMethods.Brotli](https://learn.microsoft.com/dotnet/api/system.net.decompressionmethods) 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.

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:

builder.Services.AddRequestDecompression(options =>
{
 options.DecompressionProviders.Remove("br");
});

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:

var handler = new HttpClientHandler
{
 AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
};

var httpClient = new HttpClient(handler);

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.

Affected Packages

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

.NET 8

Package name | Affected version | Patched version ------------ | ---------------- | --------------- [Microsoft.DotNet.ILCompiler](https://www.nuget.org/packages/Microsoft.DotNet.ILCompiler) | >= 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.

0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 8.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.

0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 9.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.

0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.0, = 10.0.

0, = 10.0.0, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.26104.118, = 11.0.0-preview.1.261

Affected package ranges reported by GitHub: Microsoft.DotNet.ILCompiler: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.ios-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.

Runtime.NativeAOT.linux-bionic-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.osx-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.osx-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.tvos-arm64: >= 8.0.0, < 8.0.

33 Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.

android-arm: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.android-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.android-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.android-x86: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.browser-wasm: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.ios-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.

iossimulator-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.linux-arm: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.linux-arm64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64: >= 8.0.0, < 8.0.33 Microsoft.NETCore.App.Runtime.Mono.linux-x

Related technology

Sources

  1. Primary source

    GitHub-reviewed advisory GHSA-p3jp-9v83-76w9 (opens a new tab)

    The public advisory supplies the description, affected package/version ranges, and any listed CVSS metric. GitHub review is not local review.

    Published Checked

  2. Primary source

    GitHub public advisory API page (opens a new tab)

    The API page supplied GHSA-p3jp-9v83-76w9, its actual identifiers, source dates, and structured metrics.

    Published Date not suppliedChecked

Cite this record

For factual claims, cite the primary sources above; cite KEVWire for its compilation, dates, and classifications.

APA

KEVWire. (2026, November 3). Microsoft Security Advisory CVE-2026-111497 - .NET Brotli Decoder Out-of-bounds Write Vulnerability. https://kevwire.com/record/GHSA-p3jp-9v83-76w9

MLA

"Microsoft Security Advisory CVE-2026-111497 - .NET Brotli Decoder Out-of-bounds Write Vulnerability." KEVWire, 3 Nov. 2026, kevwire.com/record/GHSA-p3jp-9v83-76w9.

Chicago

KEVWire. "Microsoft Security Advisory CVE-2026-111497 - .NET Brotli Decoder Out-of-bounds Write Vulnerability." Last modified November 3, 2026. https://kevwire.com/record/GHSA-p3jp-9v83-76w9.

Evidence summary (plain text)

Microsoft Security Advisory CVE-2026-111497 - .NET Brotli Decoder Out-of-bounds Write Vulnerability (Nov 3, 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.
Sources:
GitHub-reviewed advisory GHSA-p3jp-9v83-76w9: https://github.com/advisories/GHSA-p3jp-9v83-76w9
GitHub public advisory API page: https://api.github.com/advisories?type=reviewed&per_page=100&sort=updated&direction=desc
Record ID: GHSA-p3jp-9v83-76w9.
Record origin: Ingested record.
AI evidence: Not assessed.
Known exploitation: Not assessed.
Zero-day status: Not assessed. KEV membership alone does not establish zero-day status.
About this data

This record was ingested from a data source. Retrieved: Nov 3, 2026, 19:00 UTC. Ingestion is not an independent editorial investigation.

A CISA KEV listing documents known exploitation, not necessarily a zero-day; absence from the catalog does not prove a vulnerability has never been exploited.

Technology tags indicate possible relevance, not verified exposure. Confirm the affected product, version, and configuration against your own inventory; KEVWire does not scan your systems.

A personal reading checklist on this device, not verified remediation.

Record JSON

Your account

Email alerts

Email alerts are coming as part of KEVWire Premium: join the waitlist. To follow your stack today, use its RSS feed, which honors your filters, or connect an AI agent through the API.

Suggest an improvement

Ideas, missing sources, corrections, and bugs are all welcome. No account needed. Suggestions are reviewed by a person before anything changes.

Record details

Record detail