Repository navigation
bug: upgrade UserFront to Spring Boot 3.5.14 (CVE-2026-40973, ApplicationTemp insecure temp dir) - #428
Open
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
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-05313227/ SNYK-JAVA-ORGSPRINGFRAMEWORKBOOT-16198880 (CVE-2026-40973, CWE-377). Inspring-boot1.5.4,ApplicationTempbuilds its temp directory from a predictable name and uses it even if another local user created it first. Fixed versions are 3.5.14 and 4.0.6. This PR moves to 3.5.14, the smallest version that clears the issue.Warning
This is a major-version bump (1.5 → 3.5), and it changes the Java version (
java.version1.8 → 17). The remediation guidance says "do not change the Java version", but there's no way around it here: every fixed release of Spring Boot requires Java 17. Earlier runs on this same CVE escalated without opening a PR. This PR exists because of the rule that every new ticket gets its own PR. Reviewers need to decide whether Java 17 is acceptable.The diff is the same as PR #178 (Boot 3.5.14 for CVE-2026-40977), cherry-picked from
ed8f9cb. Open PRs #71 and #62 (Boot 3.5.16) also clear this CVE. Only one of these should land.Changes the migration needed:
pom.xml: parent1.5.4.RELEASE→3.5.14,java.version17,mysql:mysql-connector-java→com.mysql:mysql-connector-j. The Maven wrapper moves to 3.9.9.javax.persistence/javax.servlet→jakarta.*indomain/**andRequestFilter.SecurityConfig:WebSecurityConfigurerAdapteris replaced by aSecurityFilterChainbean plus aDaoAuthenticationProvider(userSecurityService)bean.@EnableGlobalMethodSecuritybecomes@EnableMethodSecurity. Behaviour is unchanged: same public matchers, form login on/index, logout, remember-me, and CSRF/CORS still disabled exactly as on master.application.properties: addsspring.main.allow-circular-references=true, becauseUserServiceImplandAccountServiceImpldepend on each other. Drops the hard-codedMySQL5Dialect(Hibernate 6 detects the dialect itself).UserFrontApplicationTests: JUnit 4 → JUnit 5.Verification
The build ran offline. Maven Central is blocked by this session's network policy, and the Boot 3.5.14 artifacts aren't in the local cache, so I used the cached Boot 3.3.4 parent as a stand-in. The 3.3.4 stand-in ships Security 6.3, so in that copy only,
DaoAuthenticationProviderused the setter form (the constructor is Security 6.4+, which 3.5.14 includes).src/main/javacompiled with javac on JDK 17 against thedependency:build-classpathoutput, with no errors.UserFrontApplicationTests.contextLoadsran through the JUnit Platform launcher against H2 in MySQL mode: 1 test found, 1 passed./indexreturned 200. Signup gave a 302. Login gave a 302 to/userFront, which then returned 200. Depositing 125 into the primary account gave a 302, and the primary account page showed125.00. A bad password redirected to/index?error. Anonymous/userFrontredirected to/index.Snyk before/after: not available.
snyk testfails withSNYK-CLI-0000because api.snyk.io is blocked here, so I can't quote issue counts. Expected effect: thespring-boot@1.5.4.RELEASEpath for SNYK-JAVA-ORGSPRINGFRAMEWORKBOOT-16198880 is gone (it resolves tospring-boot@3.5.14). Please re-run the Snyk scan in CI to confirm.Untested: a real build and run on the 3.5.14 artifacts, and a run against MySQL.
Devin-Org: engineering
Link to Devin session: https://devin-gtm.devinenterprise.com/sessions/a5252fda2066499d9a6f0b4d726107b0
Open in Devin Desktop: https://devin-gtm.devinenterprise.com/desktop/session/a5252fda2066499d9a6f0b4d726107b0?variant=devin
Devin Review