Conversation
…CVEs The published images carried 3 CRITICAL + 47 HIGH findings (trivy, identical on both :latest and :v0.12.5-cu128). 46 of the 50 came from a single file: the bundled `cloudflared`, pinned at 2025.2.1 since Managed Tunnels landed on 2026-05-20 and never bumped. Cloudflare built that release with Go 1.22.10, so it dragged in stdlib (15), x/crypto 0.31.0 (11), coredns 1.11.3 (9), x/net 0.26.0 (5) and grpc 1.63.2 (2, incl. CRITICAL CVE-2026-33186). Neither automated gate could see it: Dependabot's docker ecosystem only tracks `FROM` images, and the Security workflow runs govulncheck plus Trivy in FILESYSTEM mode — a binary curl'd during the image build appears in neither. The distroless bases and the CUDA/llama.cpp layers were clean throughout. Changes: - cloudflared 2025.2.1 → 2026.7.3 in both Dockerfiles AND in internal/tunnels/installer.go. The const there is the managed-install path used by the dashboard's Update button; leaving it stale would have re-installed the old binary over the freshly bundled one. - Checksum verification is now mandatory, not opt-in. Both Dockerfiles pin per-arch SHA-256 (unknown arch fails the build), and pinnedSHA256 in the installer is populated for all four cloudflared platforms. ngrok stays absent from that map on purpose: its v3-stable channel has no per-version URL, so a pinned sum would reject legitimate downloads. - kin-openapi v0.142.0 → v0.144.0, clearing the one finding in cix-server itself (GHSA-r277-6w6q-xmqw, fail-open auth bypass in ValidationHandler). Not reachable here — we only import openapi3 in openapi.gen.go and never construct a ValidationHandler — but it is a free bump. - NGROK_NOCACHE on the local docker build targets. ngrok's floating channel would otherwise stay frozen in the buildx layer cache; CI runners have no cache so they were always fetching fresh. Follow-up (separate PR): a cloudflared pin-freshness workflow modelled on llama-pin-check.yml, and an image-level scan in CI so this class of drift cannot go unnoticed again. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fix(server): clear image CVEs — bump bundled tunnel agents + kin-openapi
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.
Promotion for the server/v0.12.6 tag. Single change set: PR #194, the bundled tunnel-agent CVE remediation.
Contents
internal/tunnels/installer.go), mandatory per-arch SHA-256 verification,pinnedSHA256populated, kin-openapi v0.142.0 → v0.144.0,NGROK_NOCACHEon local build targets.Security gate (T9 step 1)
Already run against this exact tree —
git diff origin/develop a9ba82a -- server/ doc/is empty, so the scanned build and this promotion are the same code. Built natively on the x86 host, scanned with the trivy container:Gate is "no NEW HIGH/CRITICAL vs the prod tag" — this is strictly better on every axis, and
cix-serveritself now has zero findings. The 5 remaining are upstream vendor lag inside cloudflared and ngrok (both built on Go 1.26.4, needs 1.26.5).E2E on the built CUDA image
--gpus allcix statusreports✓ IndexedbackoffForAttemptfor "how long to wait before trying again";ValidateTokenfor "check whether a login is still valid")cix defresolves symbols — tree-sitter extraction intactllama-serverpid appears innvidia-smi --query-compute-appsat 508 MiB during indexing, so embeddings ran on the GPU rather than falling back to CPUcloudflared --version→ 2026.7.3 in both images; managed install logstunnel binary checksum verifiedNot included
No
versions.jsbump — per policy the site may only advertise an already-tagged release, soSERVER_VERSIONgoes up in a follow-up PR once the images are on Docker Hub.The two CI guards (a cloudflared pin-freshness workflow, and an image-level scan gated on "no new HIGH/CRITICAL vs the previous release tag") are still outstanding and land after this release.
🤖 Generated with Claude Code