Skip to content

fix: bump vulnerable backend dependencies - #30

Closed
alexmcdermid wants to merge 1 commit into
mainfrom
chore/security-dependency-bumps
Closed

alexmcdermid wants to merge 1 commit into
mainfrom
chore/security-dependency-bumps

Conversation

@alexmcdermid

Copy link
Copy Markdown
Owner

Clears 31 of 33 known vulnerabilities (per OSV.dev against the fully resolved dependency tree), including every critical that has an available fix.

Spring Boot 3.5.16 (latest OSS 3.5.x) still manages vulnerable versions, so they're overridden via BOM / dependency management declared ahead of the spring-boot-dependencies import (with a BOM import, Boot's *.version properties can't be overridden).

Dependency From To Notable fixes
tomcat-embed-* 10.1.55 10.1.61 3 critical auth bypasses (DIGEST, FORM, access control)
netty 4.1.135.Final 4.1.139.Final critical SNI routing bypass; HTTP/2, SPDY, Bzip2 DoS
jackson 2.21.4 2.21.7 jackson-core/databind DoS and @JsonView bypasses
postgresql 42.7.7 42.7.14 SCRAM PBKDF2 DoS, channel-binding downgrade
log4j-api 2.24.3 2.25.5 GHSA-qv9r-c865-cp47
spring-boot 3.5.15 3.5.16 latest 3.5.x patch

Remaining: spring-webmvc 6.2.19 — GHSA-j9f9-w8pj-32f8 (SSE fragment rendering) and GHSA-pc63-qcmh-9cmg (XsltView) are only fixed in Spring Framework 7.0.9 (Spring Boot 4). The API doesn't use either feature, and with no fix on the 6.2 line Trivy's ignore-unfixed shouldn't fail on them. A Boot 4 upgrade is being planned separately.

Testing: mvn package (125 tests) passes locally on JDK 21. Tests run on H2, so the pgjdbc and Netty bumps aren't exercised against real Postgres/DynamoDB. The base image OS packages weren't scanned locally; CI's Trivy step covers that.

Spring Boot 3.5.16 (latest OSS 3.5.x) still manages vulnerable versions,
so override them via BOM/dependency management declared ahead of the
spring-boot-dependencies import:

- tomcat-embed-* 10.1.55 -> 10.1.61 (3 critical auth bypasses)
- netty 4.1.135.Final -> 4.1.139.Final (critical SNI bypass, HTTP/2, SPDY)
- jackson 2.21.4 -> 2.21.7 (jackson-core/databind DoS and bypasses)
- log4j-api 2.24.3 -> 2.25.5 (GHSA-qv9r-c865-cp47)
- postgresql 42.7.7 -> 42.7.14 (SCRAM DoS, channel-binding downgrade)
- spring-boot 3.5.15 -> 3.5.16

Remaining: spring-webmvc 6.2.19 GHSA-j9f9-w8pj-32f8 / GHSA-pc63-qcmh-9cmg
are only fixed in Spring Framework 7.0.9 (Spring Boot 4); the API does
not use SSE fragment rendering or XsltView.
@alexmcdermid

Copy link
Copy Markdown
Owner Author

Superseded by #31. The Spring Boot 4.1.1 upgrade includes all of these dependency fixes: Tomcat 11.0.27, Jackson 3.1.7, pgjdbc 42.7.14 and log4j 2.25.5, with Netty removed. It also fixes the spring-webmvc criticals that kept this PR's Trivy check failing.

@alexmcdermid
alexmcdermid deleted the chore/security-dependency-bumps branch October 17, 2026 04:06

This branch was successfully deployed

1 active deployment
dev — ebc3498b Deployed Oct 17, 2026 by alexmcdermid via pause-when-idle #8
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.

1 participant