Skip to content

[Snyk] Security upgrade org.springframework.boot:spring-boot-starter-web from 2.7.3 to 4.0.0 - #66

Open
malhanpraveen wants to merge 1 commit into
mainfrom
snyk-fix-dc22dd8610e8ff44a4b77a1492ec5c9c
Open

[Snyk] Security upgrade org.springframework.boot:spring-boot-starter-web from 2.7.3 to 4.0.0#66
malhanpraveen wants to merge 1 commit into
mainfrom
snyk-fix-dc22dd8610e8ff44a4b77a1492ec5c9c

Conversation

@malhanpraveen

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 2 vulnerabilities in the maven dependencies of this project.

Snyk changed the following file(s):

  • examples/pom.xml

Vulnerabilities that will be fixed with an upgrade:

Issue Score Upgrade
critical severity Arbitrary Code Injection
SNYK-JAVA-ORGSPRINGFRAMEWORK-19267098
  741   org.springframework.boot:spring-boot-starter-web:
2.7.3 -> 4.0.0
Major version upgrade No Known Exploit
high severity Allocation of Resources Without Limits or Throttling
SNYK-JAVA-ORGSPRINGFRAMEWORK-19267075
  701   org.springframework.boot:spring-boot-starter-web:
2.7.3 -> 4.0.0
Major version upgrade No Known Exploit

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Arbitrary Code Injection
🦉 Allocation of Resources Without Limits or Throttling

@malhanpraveen

Copy link
Copy Markdown
Author

Merge Risk: High

This is a double major version upgrade from 2.7.3 to 4.0.0, which includes two sets of significant and mandatory breaking changes. This upgrade requires a multi-step migration and substantial developer effort.

Migration from Spring Boot 2.7.x to 3.0.x

The first major jump requires moving to Spring Boot 3.0, which introduces several foundational breaking changes:

  • Java 17 Baseline: Spring Boot 3.0 requires Java 17 as a minimum version. Applications must be upgraded from Java 8 or 11.
  • Jakarta EE Migration: This is the largest breaking change. Spring Boot 3.0 migrates from Java EE to Jakarta EE. All javax.* package imports must be replaced with jakarta.* across the entire application. This affects persistence, validation, and servlet APIs.
  • Dependency Upgrades: The upgrade includes new major versions of core dependencies like Spring Framework 6 and Spring Security 6, which have their own breaking changes.
  • Configuration Properties: Numerous configuration properties have been renamed or removed. It is recommended to use the spring-boot-properties-migrator module to help identify and manage these changes.

Migration from Spring Boot 3.x to 4.0.x

After stabilizing on version 3, the upgrade to 4.0 introduces another layer of breaking changes:

  • Platform Upgrade: Spring Boot 4.0 is built on Spring Framework 7 and Jakarta EE 11, requiring a Servlet 6.1 baseline.
  • Codebase Modularization: Spring Boot starters are now smaller and more focused. You may need to add new, more specific starter dependencies to your build, as the transitive dependencies you previously relied on may no longer be included.
  • Undertow Support Dropped: Support for Undertow as an embedded server has been removed due to incompatibility with the Servlet 6.1 baseline.
  • Jackson 3.x: Support for Jackson 2.x is removed in favor of Jackson 3.x, which may impact JSON serialization.

Recommendation: This upgrade cannot be performed in a single step. The official guidance is to first migrate the application from 2.7.3 to the latest Spring Boot 3.x release. After fully testing and stabilizing the application on version 3, you can then plan the subsequent migration to 4.0.0. This is a major refactoring effort that requires careful planning and extensive testing.

Source: Spring Boot 3.0 Migration Guide, Spring Boot 4.0 Migration Guide

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants