CVE-2026-70186: ASP.NET Core Kestrel denial of service in HTTP/3 handling

CVE-2026-70186 · Severity: high · CVSS 7.5 · Published 2026-10-13

Microsoft ASP.NET Core's Kestrel web server can be crashed by unauthenticated attackers who send specially crafted HTTP/3 reset or abort messages. Repeated requests cause the server to deadlock and exhaust resources, resulting in service unavailability for legitimate users.

Technologies: Microsoft Asp.Net Core, Microsoft.AspNetCore.App.Runtime.linux-arm (NuGet), Microsoft.AspNetCore.App.Runtime.linux-arm64 (NuGet), Microsoft.AspNetCore.App.Runtime.linux-musl-arm (NuGet), Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 (NuGet), Microsoft.AspNetCore.App.Runtime.linux-musl-x64 (NuGet), Microsoft.AspNetCore.App.Runtime.linux-x64 (NuGet), Microsoft.AspNetCore.App.Runtime.osx-arm64 (NuGet), Microsoft.AspNetCore.App.Runtime.osx-x64 (NuGet), Microsoft.AspNetCore.App.Runtime.win-arm64 (NuGet), Microsoft.AspNetCore.App.Runtime.win-x64 (NuGet), Microsoft.AspNetCore.App.Runtime.win-x86 (NuGet). Vendors: Microsoft, NuGet.

Quick answers

Is CVE-2026-70186 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-70186 being exploited in the wild.
How severe is CVE-2026-70186?
High severity, with a CVSS score of 7.5, published 13 October 2026.
Which products and versions are affected?
Microsoft Asp.Net Core 8.0.0 to 8.0.31, 9.0.0 to 9.0.20, 10.0.0 to 10.0.12; Microsoft.AspNetCore.App.Runtime.linux-arm (NuGet) >= 8.0.0, <= 8.0.31, ECOSYSTEM:introduced=8.0.0,fixed=8.0.32; Microsoft.AspNetCore.App.Runtime.linux-arm64 (NuGet) >= 8.0.0, <= 8.0.31, ECOSYSTEM:introduced=8.0.0,fixed=8.0.32; Microsoft.AspNetCore.App.Runtime.linux-musl-arm (NuGet) >= 8.0.0, <= 8.0.31, ECOSYSTEM:introduced=8.0.0,fixed=8.0.32; and 8 more.
Is there a fix for CVE-2026-70186?
Yes. Microsoft.AspNetCore.App.Runtime.linux-arm (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.linux-arm64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.linux-musl-arm (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.linux-musl-x64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.linux-x64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.osx-arm64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.osx-x64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.win-arm64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.win-x64 (NuGet): upgrade to 8.0.32 or later; Microsoft.AspNetCore.App.Runtime.win-x86 (NuGet): upgrade to 8.0.32 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-70186 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-70186?
Check whether you run Microsoft Asp.Net Core, Microsoft.AspNetCore.App.Runtime.linux-arm (NuGet), Microsoft.AspNetCore.App.Runtime.linux-arm64 (NuGet) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Microsoft.AspNetCore.App.Runtime.linux-arm (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-arm --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.linux-arm64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-arm64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.linux-musl-arm (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-arm --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.linux-musl-x64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-x64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.linux-x64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.linux-x64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.osx-arm64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.osx-arm64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.osx-x64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.osx-x64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.win-arm64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.win-arm64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.win-x64 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.win-x64 --version 8.0.32
  • Microsoft.AspNetCore.App.Runtime.win-x86 (NuGet): upgrade to 8.0.32 or later
    dotnet add package Microsoft.AspNetCore.App.Runtime.win-x86 --version 8.0.32

Technical details

The vulnerability is a deadlock condition (CWE-833) in Microsoft.AspNetCore.Server.Kestrel.Core's HTTP/3 connection handling. An unauthenticated remote attacker can exploit this via network access by sending malformed HTTP/3 reset or abort sequences, causing excessive blocked-thread creation that exhausts server resources. The issue affects HTTP/3-enabled Kestrel instances on .NET 8, 9, and 10.

Affected products

  • Microsoft ASP.NET Core 8.0.0 to 8.0.31, 9.0.0 to 9.0.20, 10.0.0 to 10.0.12

Identifiers

  • CVE-2026-70186
  • GHSA-mf4x-w4gh-4656

Timeline

  • 2026-10-13: advisory

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.