Skip to content

Bump base image to clear two HIGH micrometer CVEs - #16

Merged
OpenSource-For-Freedom merged 1 commit into
mainfrom
fix/bump-base-image
Aug 12, 2026
Merged

Bump base image to clear two HIGH micrometer CVEs#16
OpenSource-For-Freedom merged 1 commit into
mainfrom
fix/bump-base-image

Conversation

@OpenSource-For-Freedom

Copy link
Copy Markdown
Owner

Clears the two open Trivy alerts.

The findings

CVE Issue CVSS
CVE-2026-40983 Micrometer gRPC denial of service 7.5 HIGH
CVE-2026-40984 micrometer-core HTTP denial of service 7.5 HIGH

Both against io.micrometer:micrometer-core 1.16.5, fixed in 1.16.6 / 1.15.12.

Where it comes from

usr/share/mc-image-helper-1.64.0/lib/micrometer-core-1.16.5.jar

Not a dependency this repo installs. It is inside itzg base image, so the only lever is the pinned digest.

Why it is not exploitable here

Worth stating rather than treating a HIGH badge as self-explanatory. Both CVEs need an attacker to reach a Micrometer-instrumented gRPC or HTTP endpoint.

mc-image-helper is a command-line tool that resolves and downloads mods at container start, then exits. It serves no gRPC, serves no HTTP, and never listens on a port. The AV:N attack vector these CVEs require does not exist in this deployment.

Bumping anyway, because it costs nothing and an alert list full of findings nobody intends to act on is exactly how a real one gets missed later.

The change

One line. Digest moves from ...4b6a75fd (built 2026-08-01) to ...2b9f121b (built 2026-08-08), which carries mc-image-helper 1.66.0 instead of 1.64.0.

Untouched: the sqlite-jdbc checksum gate, USER 1000:1000, and every mod pin.

What I am deliberately NOT claiming

I have not verified this fixes it. micrometer is a transitive dependency of mc-image-helper and is pinned by no build file in that repo, so the resolved version cannot be confirmed by inspection, and the local Docker daemon is down so the image cannot be pulled and checked either.

The Trivy scan on this commit is the verification. If the two CVEs still appear against micrometer-core after this merges, the bump did not carry the fix, and the correct next step is raising it with itzg upstream rather than re-pinning blindly and hoping.

Heads up on timing

This rebuilds the image, so the droplet will restart the server when it pulls. Combined with the When Dungeons Arise merge, that is two restarts. Worth merging when nobody is mid-session.

Trivy flagged io.micrometer:micrometer-core 1.16.5 in the image:

  CVE-2026-40983  gRPC denial of service   CVSS 7.5
  CVE-2026-40984  HTTP denial of service   CVSS 7.5

The jar is not something this repo installs. It lives at
usr/share/mc-image-helper-1.64.0/lib/ inside itzg's base image, so the
only lever here is the pinned digest.

Not exploitable in this deployment, and worth saying why rather than
treating a HIGH badge as self-explanatory. Both CVEs require an attacker
to reach a Micrometer-instrumented gRPC or HTTP endpoint. mc-image-helper
is a command-line tool that resolves and downloads mods at container
start and then exits. It serves neither protocol and never listens on a
port. There is no path to it from the network.

Bumped regardless, because it costs nothing and an alert list full of
findings nobody intends to act on is how a real one gets missed.

Digest moves from ...4b6a75fd (built 2026-08-01) to ...2b9f121b (built
2026-08-08), which carries mc-image-helper 1.66.0 in place of 1.64.0.

Deliberately NOT claiming this fixes it. micrometer is transitive in
mc-image-helper and pinned by no build file in that repo, so the resolved
version could not be confirmed by inspection. The Trivy scan on this
commit is the verification. If the CVEs still appear against
micrometer-core after this merges, the bump did not carry the fix, and
the next step is asking itzg upstream rather than re-pinning blindly.

Everything else in the Dockerfile is untouched: the sqlite-jdbc checksum
gate and USER 1000:1000 both stand.
@OpenSource-For-Freedom
OpenSource-For-Freedom merged commit 17794d6 into main Aug 12, 2026
7 checks passed
@OpenSource-For-Freedom
OpenSource-For-Freedom deleted the fix/bump-base-image branch August 12, 2026 22:40
OpenSource-For-Freedom added a commit that referenced this pull request Aug 14, 2026
Six open Trivy findings, one critical, all inside the base image's
mc-image-helper and none of them dependencies this repo chooses or can
upgrade: scala-library 2.13.1 (CVE-2022-36944, critical), jackson-databind
3.1.3 (two highs), jackson-core 3.1.3, and micrometer-core 1.16.5 (the
two highs PR #16 tried and failed to clear).

Bumping the base image again would be churn, not a fix. MC_HELPER_VERSION
on itzg's master is still 1.66.0, the version already running here, so a
newer digest would change the image without changing a single affected
library. PR #16 said the Trivy scan would be the verdict on that bump;
the verdict is in and it did not carry the fix.

The exposure assessment is deliberately not uniform, because the CVEs are
not equivalent. micrometer needs a gRPC or HTTP endpoint that
mc-image-helper does not serve, and scala needs Java deserialization it
never performs. But jackson is different and is written up as such: the
tool does parse JSON fetched from remote APIs at container start, so
there is a real if narrow path there. Calling that zero-exposure would
have been the comfortable answer rather than the true one.

Deliberately NOT adding a Trivy ignore file. Suppressing these hides the
critical and trains everyone to ignore the scanner, which matters far
more the day a finding lands in our own code. Six assessed and documented
findings beat zero findings and a suppression list nobody rereads.

Trigger for re-evaluation is MC_HELPER_VERSION moving past 1.66.0, not a
calendar date, with a backstop review at 2026-11-14.
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