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-clue midnight-clue Bot 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-clue Bot marked this pull request as ready for review July 31, 2026 12:43
@midnight-clue
midnight-clue Bot requested a review from a team as a code owner July 31, 2026 12:43
@gyg-pr-tool
gyg-pr-tool Bot requested a review from catarina-correia July 31, 2026 12:43
@catarina-correia
catarina-correia merged commit 43ecbfa into main Jul 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 free to 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