Skip to content

chore: bump Spring Boot to 4.1.1 and pin PostgreSQL 42.7.12 (Dependabot security) - #94

Merged
devondragon merged 1 commit into
mainfrom
chore/security-deps-boot-4.1.1
Aug 24, 2026
Merged

chore: bump Spring Boot to 4.1.1 and pin PostgreSQL 42.7.12 (Dependabot security)#94
devondragon merged 1 commit into
mainfrom
chore/security-deps-boot-4.1.1

Conversation

@devondragon

Copy link
Copy Markdown
Owner

Clears 6 of the 9 open Dependabot alerts by moving to patched dependency versions. None of the nine is reachable in this demo app (verified by source analysis), so this is supply-chain hygiene rather than an active-vulnerability fix.

Changes

Reachability (why none is an active fix)

  • Jackson: the app uses none of the exploited annotations (@JsonView, @JsonUnwrapped, @JsonTypeInfo/EXTERNAL_PROPERTY, per-property @JsonIgnoreProperties); Boot's default mapper is case-sensitive. Only its own DTOs are deserialized.
  • Log4j: log4j-api is present only as the log4j-to-slf4j bridge target; the app logs through Logback, there's no log4j-core, and nothing touches the vulnerable MapMessage JSON path.
  • PostgreSQL: the driver is bundled but unused — every datasource is MariaDB or H2, no jdbc:postgresql anywhere, and no channelBinding/SCRAM/SSL config. The CVE needs channelBinding=require over TLS plus an active MITM.

Not addressed here (stale, no code change)

The 3 Apache HttpComponents alerts (#94, #95, #97) reference httpclient5/httpcore5/httpcore5-h2, which are absent from every resolved configuration and were never in the repo or its git history — a transitive of an older dependency the current tree no longer pulls. They clear on the next Automatic Dependency Submission to main; dismiss manually as "vulnerable code not present" if they linger.

Testing

  • dependencyInsight confirms all four now resolve to the patched versions.
  • ./gradlew test passes: 312 tests, 0 failures, 0 errors (182 profile/container-gated tests skipped, as usual).

https://claude.ai/code/session_01EJY7pA4NvY9vJt6CfDBVWt

Clears 6 Dependabot alerts by moving to patched dependency versions. None
were reachable in this demo, so this is supply-chain hygiene, not an active
vulnerability fix.

Spring Boot 4.1.0 -> 4.1.1 pulls patched managed BOMs:
- jackson-databind 2.21.4 -> 2.21.5 (GHSA-5gvw-p9qm-jgwh #72, GHSA-mhm7-754m-9p8w #69, GHSA-5jmj-h7xm-6q6v #58)
- tools.jackson jackson-databind 3.1.4 -> 3.1.5 (GHSA-5gvw-p9qm-jgwh #73)
- log4j-api 2.25.4 -> 2.25.5 (GHSA-qv9r-c865-cp47 #96)

PostgreSQL is not bumped by the 4.1.1 BOM (still 42.7.11), so pin it
explicitly: ext['postgresql.version'] = '42.7.12' fixes the channel-binding
downgrade GHSA-j92g-9f8w-j867 (#66). The demo defaults to MariaDB and never
opens a Postgres connection.

The 3 Apache HttpComponents alerts (#94, #95, #97) are stale: those artifacts
are absent from every resolved configuration and were never in the repo or its
git history. They clear on the next dependency-graph submission to main.

Verified: dependencyInsight resolves all four to the patched versions;
./gradlew test passes (312 tests, 0 failures, 0 errors).

Claude-Session: https://claude.ai/code/session_01EJY7pA4NvY9vJt6CfDBVWt
Copilot AI lite review requested due to automatic review settings August 24, 2026 20:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@devondragon
devondragon merged commit 0901b42 into main Aug 24, 2026
9 checks passed
@devondragon
devondragon deleted the chore/security-deps-boot-4.1.1 branch August 24, 2026 21:04
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