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-cluemidnight-clueBot 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

claudeand 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>
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