fix(docker): bump bundled docker CLI to 29.8.0 to clear Go stdlib HIGHs - #2535
Merged
Merged
Conversation
The Docker workflow's Trivy gate went red on main: the bundled static docker CLI (/usr/local/bin/docker) at 29.7.2 is compiled with go1.26.5, which the vulnerability DB now flags with six HIGH Go stdlib advisories (CVE-2026-33818, CVE-2026-56853, CVE-2026-56858, CVE-2026-56859, CVE-2026-56860, CVE-2026-56862), all fixed in go1.26.6+. Docker 29.8.0 is built with go1.26.8. Verified with Trivy 0.70.0 (the version the workflow pins) against both static builds: linux/amd64 and linux/arm64 each report 0 HIGH/CRITICAL. The two previously suppressed CVEs (CVE-2026-39821, CVE-2026-46600) are stdlib-vendored x/net issues also fixed by the newer toolchain, so .trivyignore no longer needs any entry. - Dockerfile: DOCKER_CLI_VERSION 29.7.2 -> 29.8.0, comment updated - .trivyignore: drop both entries; keep the file (trivy-action fails hard when `trivyignores:` points at a missing path) with a note on when adding an entry is the right move versus bumping the pin Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015paJopoDarw6WeFFoZMDMf
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
The
Dockerworkflow has been red onmainfor the last three commits (9cc2c76b,2409d691,16820146). Thescanjob fails withTotal: 6 (HIGH: 6, CRITICAL: 0)againstusr/local/bin/docker (gobinary)— the bundled static Docker CLI. The image's Debian layer is clean (0 findings); the CLI is the sole source.Root cause:
DOCKER_CLI_VERSION=29.7.2is compiled withgo1.26.5, and the vulnerability DB now carries six HIGH Go stdlib advisories against it — CVE-2026-33818 (encoding/asn1DoS), CVE-2026-56853 (net/httpHTTP/2 DoS), CVE-2026-56858 (html/templateXSS), CVE-2026-56859 (encoding/xmlDoS), CVE-2026-56860 (net/urlquadratic complexity), CVE-2026-56862 (crypto/tlsKeyUpdate DoS). All are fixed ingo1.26.6+. Nothing in the repo changed; the DB did.Fix is the pin, not a suppression: Docker 29.8.0 (released 2026-09-03) is built with
go1.26.8.Test plan
Verified locally with Trivy 0.70.0 — the exact version the workflow pins — using the same flags (
--severity HIGH,CRITICAL --ignore-unfixed):docker-29.8.0.tgzlinux/amd64 static binary:go1.26.8, 0 vulnerabilitiesdocker-29.8.0.tgzlinux/arm64 static binary:go1.26.8, 0 vulnerabilitiesdocker build --target docker-clisucceeds; the resulting stage reportsDocker version 29.8.0, build 88096efBoth arches matter because the image is built for
linux/amd64andlinux/arm64..trivyignoreis now entry-free. Its two previous suppressions (CVE-2026-39821, CVE-2026-46600) are stdlib-vendoredgolang.org/x/netissues also in thego1.26.5advisory set and also fixed bygo1.26.8, so dropping them un-gates nothing that is still present. The file itself is kept —.github/workflows/docker.ymlpassestrivyignores: .trivyignoreand trivy-action hard-fails withcannot find ignorefilewhen the path is missing — and now documents when adding an entry is the right move versus bumping the pin.Note:
docker.ymlruns onmain/tags, not on PRs, so this PR's checks do not exercise the Trivy gate. That is why the verification above was done locally against both static builds. The workflow will run onmainimmediately after merge.Surface impact
No user-facing behavior, API surface, service, or operation count changes — a build-stage version pin and a scanner config file. Checked and unchanged accordingly: reference docs, READMEs, all six language SDKs, website, LLM/agent content, machine metadata (
conformance-baseline.json, ops index, parity counts), examples, GitHub repo description.🤖 Generated with Claude Code
https://claude.ai/code/session_015paJopoDarw6WeFFoZMDMf
Summary by cubic
Bumps the bundled static Docker CLI from 29.7.2 to 29.8.0 so the image's Trivy gate passes again. The previous CLI shipped go1.26.5, which the vulnerability DB now flags with six HIGH Go stdlib advisories; 29.8.0 ships go1.26.8 and scans clean.
Verification
linux/amd64andlinux/arm64static builds; each reports 0 HIGH/CRITICAL.main/tags, so this PR's checks don't exercise the Trivy gate..trivyignorebut keeps the file, since the workflow's trivy-action fails when the path is missing.Written for commit 44fe354. Summary will update on new commits.