Skip to content

USPR-13802: fix spring-webmvc and spring-webflux open redirect vulnerability (GHSA-h3qp-gqrc-q736) - #400

Open
midnight-clue[bot] wants to merge 2 commits into
mainfrom
claude/USPR-13802-spring-webmvc-webflux-open-redirect-fix
Open

USPR-13802: fix spring-webmvc and spring-webflux open redirect vulnerability (GHSA-h3qp-gqrc-q736)#400
midnight-clue[bot] wants to merge 2 commits into
mainfrom
claude/USPR-13802-spring-webmvc-webflux-open-redirect-fix

Conversation

@midnight-clue

@midnight-clue midnight-clue Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Context & Problem

Dependabot Security Alerts #125 and #126: moderate-severity Open Redirect vulnerability (GHSA-h3qp-gqrc-q736) in Spring Framework affects org.springframework:spring-webmvc and org.springframework:spring-webflux versions 7.0.0 through 7.0.7. These are pulled in transitively via Spring Boot BOM without explicit version pins.

See USPR-13802.

Solution

Commit 1: Root build.gradle resolutionStrategy floor bump

Added two new dependency resolution rules to build.gradle resolutionStrategy.eachDependency block:

  • spring-webmvc: floor bumped to 7.0.8
  • spring-webflux: floor bumped to 7.0.8

These rules enforce the minimum version across all subprojects that do not use the Spring Dependency Management plugin's strict BOM import.

Commit 2: Example apps spring-framework.version ext override (lockstep fix)

Added ext['spring-framework.version'] = '7.0.8' to both:

  • examples/example-spring-boot-starter-web/build.gradle
  • examples/example-spring-boot-starter-webflux/build.gradle

These example apps use the Spring Dependency Management plugin with strict BOM constraints, which take precedence over resolutionStrategy rules. The ext[] override ensures the strict constraint evaluates to 7.0.8, following the same pattern already used in those files for jackson, logback, netty, and tomcat.

Verification

✓ Dependency resolution confirmed for all affected subprojects:

  • :spring-boot-starter:spring-boot-starter-web: spring-webmvc resolves to 7.0.8
  • :test:openapi-webflux: spring-webflux resolves to 7.0.8
  • :examples:example-spring-boot-starter-web: spring-webmvc resolves to 7.0.8 (strict constraint)
  • :examples:example-spring-boot-starter-webflux: spring-webflux resolves to 7.0.8 (strict constraint)

✓ Gradle parse: ./gradlew help -q completed successfully
✓ Code quality: ./gradlew checkstyleMain checkstyleTest pmdMain pmdTest all passed
✓ Test suite: ./gradlew test all passed (56 actionable tasks)

🔍 Braintrust trace

claude and others added 2 commits July 31, 2026 12:31
…0.8 (GHSA-h3qp-gqrc-q736)

Co-Authored-By: Catarina Correia <catarina.correia@getyourguide.com>
…A-h3qp-gqrc-q736)

Add ext['spring-framework.version'] override in both example Spring Boot
apps (example-spring-boot-starter-web and example-spring-boot-starter-webflux),
in lockstep with the resolutionStrategy floor added for spring-webmvc and
spring-webflux in the root build.gradle. These examples use the Spring
Dependency Management plugin's strict BOM import, which is not affected by
resolutionStrategy.eachDependency and requires its own ext[] property
override to move the floor, following the same pattern already used there
for jackson, logback, netty and tomcat.

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:40
@midnight-clue
midnight-clue Bot requested a review from a team as a code owner July 31, 2026 12:40
@gyg-pr-tool
gyg-pr-tool Bot requested a review from catarina-correia July 31, 2026 12:40
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