Repository navigation
microvm-rootfs: bump 5 stale Alpine pins (5 CVEs across expat, nghttp2, pcre2; openssl 3.5.9) - #933
Conversation
…ssl) Alpine v3.24/main ships fixed builds; per Alpine secdb: - libexpat 2.8.4-r0 -> 2.9.0-r0 CVE-2026-93990 (2.8.5-r0), CVE-2026-102633, CVE-2026-77214 (2.9.0-r0) - nghttp2-libs 1.69.0-r0 -> 1.70.0-r0 CVE-2026-58055 - pcre2 10.48-r0 -> 10.49-r0 CVE-2026-103111 - libcrypto3 + libssl3 3.5.8-r0 -> 3.5.9-r0 (no secdb entry; keeps the base-layer override at the branch's current build, still above the 3.24.1 minirootfs's 3.5.7-r0) Dependencies unchanged (musl only; libssl3 -> libcrypto3=3.5.9-r0 moves with it). Every .apk verified against the v3.24 APKINDEX for both arches (size, C: control-segment SHA1, and .PKGINFO datahash), mirrored to gs://minimal-staging-archives, and round-tripped byte-identical. Found by pkgmgr's alpine-pins audit in the 2026-10-19 nightly. Supersedes #868 (same openssl/nghttp2/pcre2 hashes; expat goes further). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
There was a problem hiding this comment.
LGTM.
- All 10 sha256s match, in arm64-then-amd64 order.
- Each
.apkverifies against Alpine's signing keys from the pinned minirootfs, and every.PKGINFOdatahash checks out. - libexpat 2.9.0 still provides
libexpat.so.1.
This supersedes #868, which I'm closing.
Nits:
- The openssl override comment (
build.ncl:247-264) still describes 3.5.7 → 3.5.8. Please add a line on why it now sits at 3.5.9. minimal buildtook 24s, so the image probably wasn't really rebuilt in CI. #868's local--rebuildcovers the same path, which lowers the risk.- I couldn't verify the CVE IDs from here (secdb is blocked).
Generated by Claude Code
Five
.apkpins in microvm-rootfs sit below fixes that Alpine v3.24/main already ships. Found by pkgmgr's alpine-pins audit in the 2026-10-19 nightly.libexpat2.8.4-r02.9.0-r0nghttp2-libs1.69.0-r01.70.0-r0pcre210.48-r010.49-r0libcrypto3+libssl33.5.8-r03.5.9-r05 CVEs.
Supersedes #868
#868 (opened 2026-10-13, still waiting on review) makes the same nghttp2, pcre2 and openssl bumps, and its hashes are byte-identical to the ones here. It takes expat only to
2.8.5-r0, though. Since then Alpine has shipped2.9.0-r0, which fixes two more CVEs. If this merges, #868 can be closed. The two conflict, so only one of them should merge.The openssl override
libcrypto3/libssl3are the SECURITY OVERRIDES OF THE BASE LAYER block (#709). The comment there says to keep them whilealpine_releaseis a minirootfs older than the fix, and never to leave them pinned below the base layer.alpine_releaseis still3.24.1, which ships3.5.7-r0, so3.5.9-r0is still above the base layer and satisfies the comment. bui 8000 ld.sh's apk-db reconcile picks the new version up from.PKGINFO.Verified
libssl3→libcrypto3=3.5.9-r0, and that one moves with it. No new shared library enters the closure..apkfiles (5 packages × 2 arches) was downloaded from dl-cdn and checked against that arch's APKINDEX entry three ways:S:matchesC:checksum (SHA1 of the control segment) matches.PKGINFOdatahashmatches the sha256 of the data segmentgs://minimal-staging-archives/alpine/v3.24/main/<arch>/. 8 of the 10 were already there from microvm-rootfs: bump 5 Alpine pins with upstream security fixes (expat, nghttp2, pcre2, openssl) #868. All 10 were re-downloaded from GCS and re-hashed, and every one is byte-identical to the verified dl-cdn copy.minimal build/minimal-checkCI.Needs a human reviewer per repo policy.
🤖 Generated with Claude Code
Summary by CodeRabbit