Skip to content

GHSA-5rrx-jjjq-q2r5 BIT-aspnet-core-2025-55315 CVE-2025-55315

Microsoft Security Advisory CVE-2025-55315: .NET Security Feature Bypass Vulnerability

Critical NuGet
Severity
9.9 / 10
Critical · CVSS 3.1
Exploit chance (EPSS)
66.53%
Chance of exploitation in the next 30 days. Higher than 99.28% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Fix
Available
13 packages have a fixed version

Description

Microsoft Security Advisory CVE-2025-55315: .NET Security Feature Bypass Vulnerability

<a name="executive-summary"></a>Executive summary

Microsoft is releasing this security advisory to provide information about a vulnerability in ASP.NET Core 10.0 , ASP.NET Core 9.0 , ASP.NET Core 8.0, and ASP.NET Core 2.3. This advisory also provides guidance on what developers can do to update their applications to address this vulnerability.

Inconsistent interpretation of http requests ('http request/response smuggling') in ASP.NET Core allows an authorized attacker to bypass a security feature over a network.

Discussion

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

<a name="mitigation-factors"></a>Mitigation factors

Microsoft has not identified any mitigating factors for this vulnerability.

<a name="affected-software"></a>Affected software

  • Any ASP.NET Core 10.0 application running on ASP.NET Core 10.0.0-rc.1.25451.107 or earlier.
  • Any ASP.NET Core 9.0 application running on ASP.NET Core 9.0.9 or earlier.
  • Any ASP.NET Core application running on ASP.NET Core 8.0.20 or earlier.
  • Any ASP.NET Core 2.x application consuming the package Microsoft.AspNetCore.Server.Kestrel.Core version 2.3.0 or earlier.

<a name="affected-packages"></a>Affected Packages

The vulnerability affects any Microsoft .NET Core project if it uses any of affected packages versions listed below

Package name Affected version Patched version
Microsoft.AspNetCore.Server.Kestrel.Core <= 2.3.0 2.3.6
<a name="ASP.NET Core 10"></a>ASP.NET Core 10
Package name Affected version Patched version
Microsoft.AspNetCore.App.Runtime.linux-arm 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-arm64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-arm 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-x64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-x64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.osx-arm64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.osx-x64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-arm 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-arm64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-x64 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-x86 10.0.0-rc.1.25451.107 10.0.0-rc.2.25502.107
<a name="ASP.NET Core 9"></a>ASP.NET Core 9
Package name Affected version Patched version
Microsoft.AspNetCore.App.Runtime.linux-arm >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.linux-arm64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-arm >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-x64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.linux-x64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.osx-arm64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.osx-x64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.win-arm >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.win-arm64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.win-x64 >= 9.0.0, <= 9.0.9 9.0.10
Microsoft.AspNetCore.App.Runtime.win-x86 >= 9.0.0, <= 9.0.9 9.0.10
<a name="ASP.NET Core 8"></a>ASP.NET Core 8
Package name Affected version Patched version
Microsoft.AspNetCore.App.Runtime.linux-arm >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.linux-arm64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-arm >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-x64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.linux-x64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.osx-arm64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.osx-x64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.win-arm >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.win-arm64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.win-x64 >= 8.0.0, <= 8.0.20 8.0.21
Microsoft.AspNetCore.App.Runtime.win-x86 >= 8.0.0, <= 8.0.20 8.0.21

Advisory FAQ

<a name="how-affected"></a>How do I know if I am affected?

If you have a runtime or SDK with a version listed, or an affected package listed in affected software or affected packages, you're exposed to the vulnerability.

<a name="how-fix"></a>How do I fix the issue?
  1. To fix the issue please install the latest version of .NET 9.0 and .NET 8.0. If you have installed one or more .NET SDKs through Visual Studio, Visual Studio will prompt you to update Visual Studio, which will also update your .NET SDKs.
  2. If your application references the vulnerable package, update the package reference to the patched version.
  • You can list the versions you have installed by running the dotnet --info command. You will see output like the following;
.NET SDK:
 Version:           9.0.100
 Commit:            59db016f11
 Workload version:  9.0.100-manifests.3068a692
 MSBuild version:   17.12.7+5b8665660

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  15.2
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/9.0.100/

.NET workloads installed:
There are no installed workloads to display.
Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.0
  Architecture: arm64
  Commit:       9d5a6a9aa4

.NET SDKs installed:
  9.0.100 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  x64   [/usr/local/share/dotnet]
    registered at [/etc/dotnet/install_location_x64]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download
  • If you're using .NET 8.0, you should download and install .NET 8.0.21 Runtime or .NET 8.0.318 SDK (for Visual Studio 2022 v17.10 latest update) from https://dotnet.microsoft.com/download/dotnet-core/8.0.

  • If you're using .NET 9.0, you should download and install .NET 9.0.10 Runtime or .NET 9.0.111 SDK (for Visual Studio 2022 v17.12 latest update) from https://dotnet.microsoft.com/download/dotnet-core/9.0.

  • If you're using .NET 10.0, you should download and install .NET 10.0.0-rc.2.25476.107 Runtime or .NET 10.0.100-rc.2.25476.107 SDK (for Visual Studio 2022 v17.12 latest update) from https://dotnet.microsoft.com/download/dotnet-core/10.0.

  • If you're using Microsoft.AspNetCore.Server.Kestrel.Core nuget package, update to the latest version 2.3.6 using either of the following methods:

    • Using the NuGet Package Manager UI in Visual Studio: - Open your project in Visual Studio. - Right-click on your project in Solution Explorer and select "Manage NuGet Packages..." or navigate to "Project > Manage NuGet Packages". - In the NuGet Package Manager window, select the "Updates" tab. This tab lists packages with available updates from your configured package sources. - Select the package(s) you wish to update. You can choose a specific version from the dropdown or update to the latest available version. - Click the "Update" button.

    • Using the NuGet Package Manager Console in Visual Studio: - Open your project in Visual Studio. - Navigate to "Tools > NuGet Package Manager > Package Manager Console". - To update a specific package to its latest version, use the Update-Package command: Code:

            Update-Package -Id Microsoft.AspNetCore.Server.Kestrel.Core
      
    • Using the .NET CLI (Command Line Interface): Open a terminal or command prompt in your project's directory. To update a specific package to its latest version: Code:

            dotnet add package Microsoft.AspNetCore.Server.Kestrel.Core
      

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

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.

Other Information

Reporting Security Issues

If you have found a potential security issue in .NET 8.0, .NET 9.0 or .NET 10.0, please email details to secure@microsoft.com. Reports may qualify for the Microsoft .NET Core & .NET 5 Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at https://aka.ms/corebounty.

Support

You can ask questions about this issue on GitHub in the .NET GitHub organization. The main repos are located at https://github.com/dotnet/aspnetcore. The Announcements repo (https://github.com/dotnet/Announcements) 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.

Disclaimer

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.

External Links
Acknowledgement

Sid

CVE-2025-55315

Revisions

V1.0 (October 14, 2025): Advisory published.

Version 1.0

Last Updated 2025-10-14

Affected versions

NuGet

PackageVulnerableFixed in
Microsoft.AspNetCore.App.Runtime.linux-arm
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-arm
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-arm
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.linux-arm64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-arm64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-arm64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-arm
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-arm
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-arm
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-arm64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.linux-musl-x64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-musl-x64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-musl-x64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.linux-x64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.linux-x64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.linux-x64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.osx-arm64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.osx-arm64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.osx-arm64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.osx-x64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.osx-x64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.osx-x64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.win-arm
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-arm
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.win-arm
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.win-arm64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-arm64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.win-arm64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.win-x64
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-x64
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.win-x64
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.App.Runtime.win-x86
>= 10.0.0-rc.1.25451.107, < 10.0.0-rc.2.25502.107
10.0.0-rc.2.25502.107
Microsoft.AspNetCore.App.Runtime.win-x86
>= 9.0.0, < 9.0.10
9.0.10
Microsoft.AspNetCore.App.Runtime.win-x86
>= 8.0.0, < 8.0.21
8.0.21
Microsoft.AspNetCore.Server.Kestrel.Core
< 2.3.6
2.3.6

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

Microsoft.AspNetCore.App.Runtime.linux-arm NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-arm --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.linux-arm64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-arm64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.linux-musl-arm NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-arm --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.linux-musl-x64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-musl-x64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.linux-x64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.linux-x64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.osx-arm64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.osx-arm64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.osx-x64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.osx-x64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.win-arm NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.win-arm --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.win-arm64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.win-arm64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.win-x64 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.win-x64 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.App.Runtime.win-x86 NuGet → 10.0.0-rc.2.25502.107

dotnet
dotnet add package Microsoft.AspNetCore.App.Runtime.win-x86 --version 10.0.0-rc.2.25502.107

Microsoft.AspNetCore.Server.Kestrel.Core NuGet → 2.3.6

dotnet
dotnet add package Microsoft.AspNetCore.Server.Kestrel.Core --version 2.3.6

Severity breakdown

CVSS 3.1 9.9

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

Weakness

CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

How to prevent it
  • Implementation: Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].
  • Implementation: Use only SSL communication.
  • Implementation: Terminate the client session after each request.
  • System Configuration: Turn all pages to non-cacheable.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-vmch-3w2x-vhgq
.NET Denial of Service Vulnerability
High Known exploited Also affects Microsoft.AspNetCore.App.Runtime.win-arm64
GHSA-f4g7-52wc-p8x7
Microsoft Security Advisory CVE-2026-96236 - ASP.NET Core Denial of Service Vulnerability
High Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-rv87-ccxw-8ggf
Microsoft Security Advisory CVE-2026-88092 - ASP.NET Core Security Feature Bypass Vulnerability
Critical Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-57xr-hfxx-jw5x
Microsoft Security Advisory CVE-2026-70196 - ASP.NET Core Denial of Service Vulnerability
Medium Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-fpq8-4vhr-rcxx
Microsoft Security Advisory CVE-2026-70188 - ASP.NET Core Security Feature Bypass Vulnerability
Critical Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-mf4x-w4gh-4656
Microsoft Security Advisory CVE-2026-70186 - ASP.NET Core Denial of Service Vulnerability
High Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-494h-xx7x-5frh
Microsoft Security Advisory CVE-2026-70183 - ASP.NET Core Security Feature Bypass Vulnerability
High Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
GHSA-w5qq-qrpp-rf4c
Microsoft Security Advisory CVE-2026-70181 - ASP.NET Core Denial of Service Vulnerability
High Also affects Microsoft.AspNetCore.App.Runtime.linux-arm
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor