Skip to content

USPR-13799: pin org.springframework:spring-core minimum version to 7.0.8 (GHSA-659m-px2c-25wj) - #401

Merged
catarina-correia merged 1 commit into
mainfrom
claude/USPR-13799-spring-core-7.0.8-security-fix
Jul 31, 2026
Merged

USPR-13799: pin org.springframework:spring-core minimum version to 7.0.8 (GHSA-659m-px2c-25wj)#401
catarina-correia merged 1 commit into
mainfrom
claude/USPR-13799-spring-core-7.0.8-security-fix

Conversation

@midnight-clue

@midnight-cluemidnight-clueBot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Context & Problem

GitHub Dependabot flagged a low-severity Denial of Service vulnerability (GHSA-659m-px2c-25wj) in
org.springframework:spring-core versions 7.0.0-7.0.7 (Dependabot alert #129). It's pulled in
transitively via Spring Boot 4.0.6 (spring-boot = "4.0.6" in gradle/libs.versions.toml), whose
dependency-management BOM pins spring-framework.version to 7.0.7. The fix is available in
spring-core 7.0.8.

USPR-13799

Solution

Added a resolutionStrategy.eachDependency override for org.springframework:spring-core >= 7.0.8
in the root build.gradle's existing security-pin block, following the same useVersion() +
because() pattern already used there for tools.jackson.core, jackson-databind, logback,
tomcat-embed-core, and io.netty.

That alone was not sufficient for the two example modules (examples/example-spring-boot-starter-web
and examples/example-spring-boot-starter-webflux), because they apply the
spring-dependency-management Gradle plugin, whose BOM-managed spring-framework.version property
takes precedence over resolutionStrategy.eachDependency in those subprojects — the same precedence
behavior already handled for netty/jackson/logback/tomcat via their own ext['<property>.version']
overrides in those files. Added ext['spring-framework.version'] = '7.0.8' to both example
build.gradle files to match.

Went with a targeted resolutionStrategy/ext pin rather than bumping the whole Spring Boot version,
since that isn't necessary for this narrow low-severity fix and could introduce unrelated changes.

Verification

  • org.springframework:spring-core resolves to 7.0.8 in spring-boot-starter/spring-boot-starter-webflux (./gradlew :spring-boot-starter:spring-boot-starter-webflux:dependencies --configuration runtimeClasspath)
  • org.springframework:spring-core resolves 7.0.7 -> 7.0.8 in examples/example-spring-boot-starter-web (./gradlew :examples:example-spring-boot-starter-web:dependencies --configuration runtimeClasspath)
  • org.springframework:spring-core resolves 7.0.7 -> 7.0.8 in examples/example-spring-boot-starter-webflux (./gradlew :examples:example-spring-boot-starter-webflux:dependencies --configuration runtimeClasspath)
  • Existing netty (4.2.16.Final) and jackson (3.1.5 floor) security pins unaffected after rebase onto latest main
  • ./gradlew checkstyleMain checkstyleTest pmdMain pmdTest test passes

🔍 Braintrust trace

….8 (GHSA-659m-px2c-25wj)
- Add spring-core 7.0.8 resolution strategy to root build.gradle
- Override spring-framework.version in example subprojects
Fixes Dependabot alert #129 (GHSA-659m-px2c-25wj):
Denial of Service in spring-core via AntPathMatcher vulnerability
affecting versions 7.0.0 through 7.0.7.
Co-Authored-By: Catarina Correia <catarina.correia@getyourguide.com>
@midnight-clue
midnight-clueBot marked this pull request as ready for review July 31, 2026 12:43
@midnight-clue
midnight-clueBot requested a review from a team as a code ownerJuly 31, 2026 12:43
@catarina-correia
catarina-correia merged commit 43ecbfa into mainJul 31, 2026
4 checks passed
@catarina-correia
catarina-correia deleted the claude/USPR-13799-spring-core-7.0.8-security-fix branch July 31, 2026 12:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@catarina-correia@claude