From 68884ef724bc2bf0f2149dd93c3e712cc6329fc9 Mon Sep 17 00:00:00 2001 From: Divyesh Bhandari <79130336+divyeshio@users.noreply.github.com> Date: Thu, 7 Aug 2025 22:23:18 +0530 Subject: [PATCH 1/4] Update RoutingEndpointConventionBuilderExtensions.cs --- .../RoutingEndpointConventionBuilderExtensions.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs index fbb25d95130f..5eed926c049f 100644 --- a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs +++ b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs @@ -22,6 +22,20 @@ public static class RoutingEndpointConventionBuilderExtensions /// An empty collection means any host will be accepted. /// /// A reference to this instance after the operation has completed. + /// + /// APIs that depend on the Host header, including + /// and , are vulnerable to client spoofing. + /// + /// To safeguard against host and port spoofing: + /// + /// + /// Verify the server name used during the TLS handshake using ITlsHandshakeFeature.HostName. + /// + /// + /// Verify the local port where the connection was accepted using (specifically ). + /// + /// + /// public static TBuilder RequireHost(this TBuilder builder, params string[] hosts) where TBuilder : IEndpointConventionBuilder { ArgumentNullException.ThrowIfNull(builder); From eca14edf2deb3642a6069268933310ed2ca2fe02 Mon Sep 17 00:00:00 2001 From: Divyesh Bhandari <79130336+divyeshio@users.noreply.github.com> Date: Thu, 7 Aug 2025 22:54:29 +0530 Subject: [PATCH 2/4] Add using --- .../src/Builder/RoutingEndpointConventionBuilderExtensions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs index 5eed926c049f..07ea6954ac64 100644 --- a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs +++ b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Http.Metadata; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.WebUtilities; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Builder; From 3a417d4735b8022453261ac6207531b84a443269 Mon Sep 17 00:00:00 2001 From: Divyesh Bhandari <79130336+divyeshio@users.noreply.github.com> Date: Fri, 8 Aug 2025 10:37:34 +0530 Subject: [PATCH 3/4] Update src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../src/Builder/RoutingEndpointConventionBuilderExtensions.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs index 07ea6954ac64..4d480a5ad48a 100644 --- a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs +++ b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs @@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.WebUtilities; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Metadata; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.WebUtilities; namespace Microsoft.AspNetCore.Builder; From 71b08de77ab8707a7333ea1edc8b5cd15eb88c16 Mon Sep 17 00:00:00 2001 From: Divyesh Bhandari <79130336+divyeshio@users.noreply.github.com> Date: Fri, 8 Aug 2025 15:22:41 +0530 Subject: [PATCH 4/4] Update RoutingEndpointConventionBuilderExtensions.cs --- .../src/Builder/RoutingEndpointConventionBuilderExtensions.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs index 4d480a5ad48a..3820785250ab 100644 --- a/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs +++ b/src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs @@ -1,9 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.AspNetCore.Http.Metadata; -using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.WebUtilities; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Metadata; using Microsoft.AspNetCore.Routing;