Repository navigation
Conversation
nodejs and curl in the base image link Wolfi's shared libbrotlidec. The published base:latest (built 2026-10-21 12:08 UTC) ships libbrotlidec1-1.2.0-r6, which predates Wolfi's CVE-2026-111497 patch (merged 17:56 the same day) and the 1.2.1 package. Require libbrotlidec1>=1.2.1 so the build fails on a stale index and the changed apk layer misses the GHA cache; merging under images/ also rebuilds base and every agent image derived from it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Rebuilds the guest base image with the Brotli decoder fix for CVE-2026-111497. Google Brotli's decoder 1.0.3–1.2.0 can write out of bounds on a crafted
brstream. In the guest,node(including built-infetch) andcurl --compresseddecodebrresponses from whatever URL an agent fetches.Both
/usr/bin/nodeandlibcurl.so.4link the sharedlibbrotlidec.so.1. I checked their ELFDT_NEEDEDentries; Node does not use a bundled copy. Upgradinglibbrotlidec1therefore fixes both.The published
base:latest(sha256:dcc40097…, built 2026-10-21 12:08 UTC) predates Wolfi's patch (wolfi-dev/os, merged 17:56 the same day) and thebrotli/1.2.1package (2026-10-22). The weekly Monday rebuild could reuse the cachedapk addlayer through the GHA cache. This change:libbrotlidec1>=1.2.1, so a stale index fails the build instead of shipping the vulnerable decoder;apk addlayer, so the build misses the cache;images/**, so merging it rebuildsbaseand every image built from it (claude-code, codex, opencode, hermes, gemini).Before | After
base:latesttoday)libbrotlidec1nodejs-26curlDownstream
Mecatl pins this image in its execution workload, in mecatui, and in microVM releases (
base:latestresolved at release time). stacklok/mecatl#2507 fixes Mecatl's other images and will need a follow-up digest bump once this image is published.Verification
task image-basebuilds successfully (linux/arm64 locally).libbrotlidec1-1.2.1-r1,nodejs-26-26.12.1-r2,curl-8.23.0-r2.curl --versionreportsbrotli/1.2.1, and a NodezlibBrotli compress/decompress round trip succeeds.task,golangci-lint, andgoimportsare still installed in/usr/local/bin.apk add nodejs curl 'libbrotlidec1>=1.2.1'onwolfi-base:latestresolveslibbrotlidec1-1.2.1-r1and Node v26.12.1, and the Brotli round trip passes.crane exportfromghcr.io/stacklok/brood-box/base:latest(sha256:dcc40097…).🤖 Generated with Claude Code