CVE-2025-55315

9.9 CRITICAL

📋 TL;DR

CVE-2025-55315 is an HTTP request smuggling vulnerability in ASP.NET Core that allows an authenticated attacker to bypass security features by manipulating HTTP request/response sequences. This affects ASP.NET Core applications that process HTTP traffic, potentially enabling privilege escalation or data exposure.

💻 Affected Systems

Products:
  • ASP.NET Core
Versions: Versions prior to 8.0.10 and 7.0.23
Operating Systems: Windows, Linux, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Affects applications using Kestrel web server with HTTP/1.1 or HTTP/2. Requires attacker to be authenticated.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise via privilege escalation to admin, data exfiltration, or remote code execution through bypassed security controls.

🟠

Likely Case

Unauthorized access to restricted endpoints, data leakage from other user sessions, or bypassing authentication/authorization mechanisms.

🟢

If Mitigated

Limited impact due to defense-in-depth controls, with potential for some request manipulation but contained by additional security layers.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires understanding of HTTP protocol manipulation and authenticated access. Public proof-of-concept demonstrates the technique.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: ASP.NET Core 8.0.10 and 7.0.23

Vendor Advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-55315

Restart Required: Yes

Instructions:

1. Update to ASP.NET Core 8.0.10 or 7.0.23 via NuGet package manager. 2. Update runtime if using self-contained deployment. 3. Restart application/services. 4. Test functionality after update.

🔧 Temporary Workarounds

HTTP/2 Disable

all

Disable HTTP/2 protocol to reduce attack surface (HTTP/1.1 still vulnerable but may limit some attack vectors)

In Program.cs: builder.WebHost.ConfigureKestrel(options => options.ConfigureEndpointDefaults(lo => lo.Protocols = HttpProtocols.Http1))

Reverse Proxy Configuration

all

Configure reverse proxy (nginx, Apache, IIS) to normalize HTTP requests and prevent smuggling attempts

nginx: proxy_http_version 1.1; proxy_set_header Connection "";
IIS: Set URL Rewrite rules to reject malformed requests

🧯 If You Can't Patch

  • Implement strict input validation and request normalization at application layer
  • Deploy WAF with HTTP request smuggling protection rules enabled

🔍 How to Verify

Check if Vulnerable:

Check ASP.NET Core version via 'dotnet --info' or examine project dependencies in .csproj files for versions <8.0.10 or <7.0.23

Check Version:

dotnet --info | findstr "Version"

Verify Fix Applied:

Confirm version is 8.0.10+ or 7.0.23+ via 'dotnet --info' and test with known proof-of-concept requests

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP request patterns with Content-Length/Transfer-Encoding discrepancies
  • 401/403 errors followed by successful requests from same source
  • Requests with malformed headers or chunked encoding anomalies

Network Indicators:

  • HTTP traffic with inconsistent Content-Length and Transfer-Encoding headers
  • Requests that appear to be split across multiple packets abnormally

SIEM Query:

(http.request.method AND (http.header.content-length OR http.header.transfer-encoding)) | stats count by src_ip, http.request.uri

🔗 References

📤 Share & Export