Repository navigation
bug: upgrade UserFront to Spring Boot 3.5.14 (CVE-2026-40977) — requires Java 8 -> 17 - #594
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
…boot PID-file symlink attack) Boot 3.5.14 is the smallest fixed version; it requires Java 17 and the jakarta.* namespace (Spring Security 6 filter-chain config, Hibernate 6, mysql-connector-j, JUnit 5).
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Author
There was a problem hiding this comment.
Devin Review found 1 potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes code-scan finding
sfind-345dc31d/ SnykSNYK-JAVA-ORGSPRINGFRAMEWORKBOOT-16201011(CVE-2026-40977, CWE-59).ApplicationPidFileWriterinspring-boot@1.5.4.RELEASEfollows a symlink at the PID-file path. The fix is only available in Boot 3.5.14 / 4.0.6, so the parent moves1.5.4.RELEASE -> 3.5.14, the smallest fixed version.Warning
Major bump that also changes the Java version (
java.version1.8 -> 17). The remediation guidance says not to change Java, but no Java 8 Boot line contains this fix: Boot 3.x needs Java 17 as a minimum. A reviewer needs to accept this trade-off before merging.Changes needed by the Boot 3 / jakarta migration (
UserFront/only):pom.xml: parent3.5.14,java.version17,mysql:mysql-connector-java->com.mysql:mysql-connector-j. Maven wrapper3.5.0->3.9.9javax.persistence/servlet.*->jakarta.*(domain entities,RequestFilter)SecurityConfig:WebSecurityConfigurerAdapterwas removed, so it now uses aSecurityFilterChainbean plus aDaoAuthenticationProvider(userSecurityService)bean. Matchers, form login, logout and remember-me behave as before./error/**/*becomes/error/**because PathPattern rejects**in the middle of a patternAppointmentServiceImpl:findOne(id)->findById(id).orElse(null)application.properties:spring.main.allow-circular-references=true(UserServiceImpl<->AccountServiceImpl), and the removedMySQL5Dialectis dropped (Hibernate 6 auto-detects the dialect)@SpringBootTestonly)Duplicate notice: this change is the same as open PR #178, which was filed for an earlier finding with the same CVE. Only one of them should land. Boot 3.5.16 migration PRs #71/#62 also clear this CVE.
Verification
snyk testfails in this network-restricted session (SNYK-CLI-0000, api.snyk.io unreachable). Expected result: SNYK-JAVA-ORGSPRINGFRAMEWORKBOOT-16201011 goes from 1 to 0, because 3.5.14 is the fixed version. This needs a Snyk rescan in CI.DaoAuthenticationProvidersetter form, because the constructor only exists in Security 6.4+, which 3.5.14 ships. JDK 17javacbuilt main and test sources cleanlyUserFrontApplicationTests.contextLoadspasses (1/1) through the JUnit Platform launcher againstmysql:5.7mysql:5.7and ran a curl smoke test (results below). Not yet verified on 3.5.14 itself:/indexreturns 200/userFront, which returns 200125.00with the transactionFinished/index?error/userFront: 302 ->/indexDevin-Org: engineering
Link to Devin session: https://devin-gtm.devinenterprise.com/sessions/aef8b79877b64763bd9c4ce450dde2a0
Open in Devin Desktop: https://devin-gtm.devinenterprise.com/desktop/session/aef8b79877b64763bd9c4ce450dde2a0?variant=devin
Devin Review