diff --git a/core/src/main/java/org/springframework/security/util/matcher/InetAddressMatchers.java b/core/src/main/java/org/springframework/security/util/matcher/InetAddressMatchers.java index cc77211f11..0f7ae8ebc9 100644 --- a/core/src/main/java/org/springframework/security/util/matcher/InetAddressMatchers.java +++ b/core/src/main/java/org/springframework/security/util/matcher/InetAddressMatchers.java @@ -259,7 +259,9 @@ public final class InetAddressMatchers { if (address.isLoopbackAddress() || address.isLinkLocalAddress() || address.isSiteLocalAddress()) { return true; } - + if (address.isAnyLocalAddress()) { + return true; + } byte[] rawAddress = address.getAddress(); if (rawAddress.length == 16) { diff --git a/core/src/test/java/org/springframework/security/util/matcher/InetAddressMatchersTests.java b/core/src/test/java/org/springframework/security/util/matcher/InetAddressMatchersTests.java index 3df99ccea9..fbd0be0646 100644 --- a/core/src/test/java/org/springframework/security/util/matcher/InetAddressMatchersTests.java +++ b/core/src/test/java/org/springframework/security/util/matcher/InetAddressMatchersTests.java @@ -276,16 +276,17 @@ class InetAddressMatchersTests { } @ParameterizedTest - @ValueSource(strings = { "127.0.0.1", "127.0.0.255" }) + @ValueSource(strings = { "127.0.0.1", "127.0.0.255", "0.0.0.0" }) void matchesWhenIpv4LoopbackThenReturnsTrue(String address) throws Exception { InetAddressMatcher matcher = InetAddressMatchers.matchInternal().build(); assertThat(matcher.matches(InetAddress.getByName(address))).isTrue(); } - @Test - void matchesWhenIpv6LoopbackThenReturnsTrue() throws Exception { + @ParameterizedTest + @ValueSource(strings = { "::1", "::" }) + void matchesWhenIpv6LoopbackThenReturnsTrue(String address) throws Exception { InetAddressMatcher matcher = InetAddressMatchers.matchInternal().build(); - assertThat(matcher.matches(InetAddress.getByName("::1"))).isTrue(); + assertThat(matcher.matches(InetAddress.getByName(address))).isTrue(); } @ParameterizedTest diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3f75e3d8d9..95d93f1a89 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -86,7 +86,7 @@ org-skyscreamer-jsonassert = "org.skyscreamer:jsonassert:1.5.3" org-slf4j-log4j-over-slf4j = "org.slf4j:log4j-over-slf4j:1.7.36" org-slf4j-slf4j-api = "org.slf4j:slf4j-api:2.0.18" org-springframework-data-spring-data-bom = "org.springframework.data:spring-data-bom:2026.1.0-M1" -org-springframework-ldap-spring-ldap-core = "org.springframework.ldap:spring-ldap-core:4.1.0" +org-springframework-ldap-spring-ldap-core = "org.springframework.ldap:spring-ldap-core:4.1.1" org-springframework-spring-framework-bom = { module = "org.springframework:spring-framework-bom", version.ref = "org-springframework" } org-synchronoss-cloud-nio-multipart-parser = "org.synchronoss.cloud:nio-multipart-parser:1.1.0" tools-jackson-jackson-bom = "tools.jackson:jackson-bom:3.2.2"