CVE-2026-70188

Inconsistent Interpretation of HTTP Requests
Affects
ASP.NET Core / Kestrel
in
.NET
No items found.
Versions
>=6.0.0 <=6.0.46

Patch Available.

Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

.NET is a free, open-source, cross-platform framework for building modern apps and powerful cloud services. It consists of a runtime and a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

A security feature bypass vulnerability (CVE-2026-70188) has been identified in ASP.NET Core's Kestrel web server, which accepts carriage-return and line-feed characters in HTTP/2 and HTTP/3 request trailers instead of rejecting the request as malformed. Microsoft's advisory also names header values read back from the HPACK dynamic table. HeroDevs investigation found that path is already validated in ASP.NET Core 6.0, so the .NET 6 impact is limited to request trailers.

Per CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling'), the weakness is a product that acts as an intermediary or endpoint and does not interpret malformed or ambiguous HTTP requests consistently with how other parties interpret them, letting an attacker smuggle a request past them.

This issue affects ASP.NET Core 6.0 applications that accept HTTP/2 or HTTP/3 requests through Kestrel, on Windows, Linux, and macOS. HTTP/1.1-only endpoints are not affected, and HTTP/3 is an opt-in preview feature in .NET 6. Microsoft's advisory lists ASP.NET Core 8.0, 9.0, 10.0 and the 11.0 previews as affected; .NET 6 is past end of life and is not assessed there.

Additionally, if you've deployed self-contained applications targeting any of the impacted versions, these applications are also vulnerable and must be recompiled and redeployed.

Details

Module Info

  • Product: Any NES for .NET 6 ASP.NET Core application at version 6.0.46 or earlier that accepts HTTP/2 or HTTP/3 requests through Kestrel.
  • Affected packages: ASP.NET Core shared framework (Microsoft.AspNetCore.App), in-box code from Microsoft.AspNetCore.Server.Kestrel.Core
  • Affected versions:
    • >= 6.0.0 <= 6.0.46
  • Package manager: NuGet, Windows Installer, Docker
  • GitHub repository: https://github.com/dotnet/aspnetcore
  • Published packages: Download .NET (Linux, macOS, and Windows)
  • Fixed in: NES for .NET 6.0.47

Vulnerability Info

This Critical-severity vulnerability is found in Kestrel's handling of HTTP/2 and HTTP/3 request trailers, the header fields a client may send after the request body.

HTTP/2 and HTTP/3 carry header fields as binary frames, so a header value cannot end a line the way it can in HTTP/1.1. The HTTP/2 specification therefore requires a server to treat any field value containing CR or LF as malformed. Kestrel checks ordinary request headers for these characters, but built trailer values with that check switched off. A request carrying CR or LF in a trailer was accepted, and the value reached the application unchanged. If the application, or a proxy built on Kestrel, later writes that value into an HTTP/1.1 message, the embedded line breaks can introduce header fields the sender was never allowed to set.

The fix turns the newline check on for trailer values, so Kestrel now rejects such requests as malformed, matching its handling of ordinary headers.

This vulnerability has been present since at least ASP.NET Core 6.0 and likely earlier.

Mitigation

.NET 6 is End-of-Life and will not receive any updates to address this issue. For more information see .NET and .NET Core official support policy.

Users of the affected components should apply one of the following mitigations:

  • Upgrade affected ASP.NET Core deployments to one of:
    • NES for .NET 6.0.47 or later
    • .NET / ASP.NET Core 8.0.32 or later
    • .NET / ASP.NET Core 9.0.21 or later
    • .NET / ASP.NET Core 10.0.13 or later
  • Leverage a commercial support partner like HeroDevs for post-EOL security support, including NES for .NET 6.0.47 or later.

Credits

Aayush Atharva, as credited in Microsoft's advisory.

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Critical
ID
CVE-2026-70188
PROJECT Affected
ASP.NET Core / Kestrel
Versions Affected
>=6.0.0 <=6.0.46
NES Versions Affected
Published date
October 13, 2026
≈ Fix date
October 13, 2026
Fixed in
Category
Inconsistent Interpretation of HTTP Requests
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for .NET
Rss feed icon
Subscribe via RSS
or

By submitting the form I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.