Repository navigation
chore(deps): bump six libraries with published security fixes - #37626
Conversation
Clears 9 HIGH/CRITICAL findings from the container image vulnerability scan (issue #36546) with no API, coordinate, or scope change — every bump stays within the same major version and the same artifact coordinates. tomcat-catalina/jasper/jdbc 9.0.120 -> 9.0.122 (3 CRITICAL) org.postgresql:postgresql 42.7.2 -> 42.7.13 (CVE-2026-42198) dnsjava:dnsjava 3.5.3 -> 3.6.5 (CVE-2024-25638, 2x GHSA KeyTrap) core5:httpcore5 (+ h2) 5.3.4 -> 5.4.3 (CVE-2026-54399, CVE-2026-54428) xstream:xstream 1.4.20 -> 1.4.21 (CVE-2024-47072) io.micrometer:* 1.13.10 -> 1.15.12 (CVE-2026-40984) tomcat.version additionally drives the Tomcat distribution zip fetched by the assembly and the tomcat-* jars. The 9.0.122 zip and every 9.0.122 artifact were confirmed present on Maven Central. It does not affect a Docker base image: the product image builds FROM dotcms/java-base (Java 25), and the docker.base.image property that names a tomcat image is unreferenced dead config. Deliberately out of scope: commons-fileupload and grpc (both need code changes; PR #36548 covers them), ion-java (the fix lives at a different groupId, com.amazon.ion, while the artifact in use stops at 1.5.1), jackson, graphql-java, elasticsearch and jdom (breaking upgrades or deliberate pins), and cryptacular/xmlsec (ship from the dotCMS/com.dotcms.dotsaml repo). Verified: ./mvnw install -pl :dotcms-core --am -DskipTests succeeds, and dependency:list resolves all six at the new versions with no superseded version left in the tree. Committed with HUSKY=0 — the pre-commit hook cannot run under pnpm 9, and lint-staged only matches core-web TS/JS files.
|
Claude finished @wezell's task in 1m 9s —— View job Code Review — dependency version bumps
New IssuesNo issues found. All three files check out:
Note (non-blocking)The PR body itself flags it, and I concur: this is a static-consistency pass only — I can confirm the BOM is coherent, but not runtime behavior. The two bumps with real blast radius are micrometer (minor bump feeding the telemetry/metrics system — · |
dotCMS-Machine-User
left a comment
There was a problem hiding this comment.
✅ dotbot review: all reviewer models (meta/muse-spark-1.3, ~z-ai/glm-latest) agree — patch is correct.
approved automatically by dotbot
…mirror
The PR test suite failed on a Docker Hub network timeout while pulling
opensearchproject/opensearch:1.3.6:
[ERROR] DOCKER> Unable to pull 'opensearchproject/opensearch:1.3.6' :
Head "https://registry-1.docker.io/v2/..." : Get
"https://auth.docker.io/token?..." : net/http: request canceled
(Client.Timeout exceeded while awaiting headers) (Internal Server Error: 500)
The docker-maven-plugin pulls this image on every test run, so a failure to
reach Docker Hub takes down the whole PR test phase: one job fails and the rest
are cancelled. Point it at mirror.gcr.io, Google's Docker Hub pull-through
cache, to take registry-1.docker.io and auth.docker.io out of the critical path.
Verified the mirror serves the identical image for this tag — the manifest
digest is the same as Docker Hub's, and the pull succeeds locally.
Scope: only docker.image.search, the image that actually failed. The other
images this file pins (opensearch:3.8.0 for the upgrade suite, pgvector:pg18,
wiremock:3.5.3) are also available on the mirror and can be moved the same way
if the direct pulls prove flaky too; they are left on Docker Hub here to keep
this change to the one that broke.
dotCMS-Machine-User
left a comment
There was a problem hiding this comment.
✅ dotbot review: all reviewer models (meta/muse-spark-1.3, ~z-ai/glm-latest) agree — patch is correct.
approved automatically by dotbot
dotCMS-Machine-User
left a comment
There was a problem hiding this comment.
✅ dotbot review: all reviewer models (meta/muse-spark-1.3, ~z-ai/glm-latest) agree — patch is correct.
approved automatically by dotbot
🐳 PR Docker test imageLatest build for commit docker pull dotcms/dotcms-test:pr-37626-issue-36546-safe-dependency-bumps
docker pull dotcms/dotcms-test:pr-37626-issue-36546-safe-dependency-bumps_383214e |
sfreudenthaler
left a comment
There was a problem hiding this comment.
looks good. should make sure we do a good round of tests cuz there are a few minor semver bumps in there. shouldn’t have breaking change but ya never know
|
dotbot code review:
Dependency-only bumps stay within same major version and artifact coordinates with no code changes; prior build verification succeeded and no in-repo caller or contract breakage was found. Test-container image mirror change is test-only with no production impact. Tip: comment with "/dotbot address comments" to attempt automated fixes for unresolved review threads. reviewed by dotbot · meta/muse-spark-1.3 · medium |
|
dotbot code review:
The patch only bumps dependency pins within the same major versions and artifact coordinates (micrometer, postgresql, dnsjava, httpcore5/-h2, xstream, tomcat), each driven by a single property, so no version skew is introduced. The environment.properties change applies a pull-through mirror prefix to test-only docker-maven-plugin container images with unchanged tags. No code, API, or contract changes exist in the repo that could break callers. Tip: comment with "/dotbot address comments" to attempt automated fixes for unresolved review threads. reviewed by dotbot · ~z-ai/glm-latest · medium |
Why is this one PR?
Because do you know how many cycles of checks and runners and merge queues are needed to get these 6 library bumps in the code base? It would clog up our pipelines for days.... In my mind there is not much danger in pushing these together. Generally I would say one PR per change but we have soooo many and because tests are all passing there is little difference in shipping one at a time vs. shipping them all. Error will be easy to unwind with ai and will take like 5m to realize and revert. (and so long to get merged and released 😄 )
Proposed Changes
Bump six libraries that have published fixes, clearing 9 HIGH/CRITICAL findings from the
container image vulnerability scan. Every bump stays within the same major version and the
same artifact coordinates — no API change, no scope change, no new dependency.
tomcat-catalina/-jasper/-jdbcorg.postgresql:postgresqldnsjava:dnsjavacore5:httpcore5(+httpcore5-h2)com.thoughtworks.xstream:xstreamio.micrometer:*Files:
bom/application/pom.xml,parent/pom.xml. Two files, seven lines.tomcat.versionadditionally drives the Tomcat distribution zip fetched by the assembly andevery
tomcat-*jar, so the 9.0.122 zip and all 9.0.122 artifacts were confirmed present onMaven Central before the bump. It does not affect a Docker base image: the product image
builds
FROM dotcms/java-base(Java 25), and thedocker.base.imageproperty that names atomcat:*image is unreferenced dead config.How This Was Verified
./mvnw install -pl :dotcms-core --am -DskipTests -Dmaven.build.cache.enabled=false—BUILD SUCCESS, all 12 reactor modules, 6:04.
The build cache was disabled deliberately so the compile could not be short-circuited.
dependency:listconfirms all six at the new versions, with no superseded version leftanywhere in the tree — including all 13
tomcat-*artifacts at 9.0.122.Not verified: runtime behaviour. No tests were run. The realistic risk areas are
micrometer (a minor bump, and it feeds the telemetry system) and Tomcat (it drives the
servlet container). Reviewers may want at least a smoke test on those two.
Checklist
exclusions below for the deliberate non-changes
Additional Info
Refs #36546 — deliberately not a closing reference. This PR covers only the subset of that
issue that is fixable by a version bump, and the issue still has open work under PR #36548
(commons-fileupload, grpc). It should stay open.
Deliberately out of scope, with reasons:
commons-fileupload,io.grpc:grpc-netty-shadedsoftware.amazon.ion:ion-java1.0.2com.amazon.ion); the coordinate in use (software.amazon.ion) stops at 1.5.1, so the scan's "fixed in 1.10.5" is unreachable without a coordinate migrationjackson2.17.2graphql-java17.5elasticsearch7.10.2org.jdom:jdom1.1.3jdom2migration with WebDAV riskcryptacular,xmlsecdotCMS/com.dotcms.dotsamlrepotinymceAlso worth noting for reviewers:
nettyfrom the same issue is already fixed onmain(
b6a18e74b1), so it is not part of this PR.The scan that produced this list was run as
linux/arm64. The Java and Node layers arearchitecture-independent, but the apt package set can differ on
linux/amd64, so the OS-layerpicture in production may differ slightly.
This PR fixes: #36546