Bump klauspost/compress to v1.18.7 - #6041
Merged
Merged
Conversation
GO-2026-5841 (GHSA-259r-337f-4rfw), an out-of-bounds read in github.com/klauspost/compress/s2, is fixed in v1.18.7. We were on v1.18.6, so govulncheck fails on main and on every open PR. The advisory is newly published rather than newly introduced: the same Go Vulnerability Check passed on PR #6031 at 17:08 and failed at 17:52 on a test-only delta. govulncheck queries the advisory database at run time, so nothing in the tree changed -- the database did. Bumped rather than added to the workflow's IGNORED_VULNS. That list is reserved for advisories with no available fix (GO-2026-5932, openpgp deprecated-by-design) or an unavoidable toolchain lag (GO-2026-5037/38/39, pending a setup-go manifest refresh), each with a written justification. This one has a fixed version, so excluding it would misuse that mechanism. The dependency stays indirect: it reaches us via prometheus/client_golang -> klauspost/compress/zstd. Only zstd is used, not the affected s2 package, so exposure was low -- but the fix is one line, so reachability does not need arguing.
6 tasks
reyortiz3
approved these changes
Jul 27, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6041 +/- ##
==========================================
+ Coverage 72.16% 72.18% +0.01%
==========================================
Files 721 721
Lines 75069 75069
==========================================
+ Hits 54174 54187 +13
+ Misses 17033 17020 -13
Partials 3862 3862 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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
Go Vulnerability Checkis currently red onmainand on every open PR. This unblocks it.GO-2026-5841(GHSA-259r-337f-4rfw) is an out-of-bounds read ingithub.com/klauspost/compress/s2, fixed in v1.18.7. We were pinned at v1.18.6.The advisory is newly published, not newly introduced. The same check passed on #6031 at 17:08 and failed at 17:52 on a test-only delta.
govulncheckqueries the advisory database at run time, so nothing in the tree changed — the database did. That is worth stating because a red security check on an unrelated PR reads as that PR's fault until someone opens the log.Why bump rather than exclude
The workflow's
IGNORED_VULNSlist exists and would have been faster, but it is reserved for advisories that cannot be fixed, each with a written justification:GO-2026-5932—x/crypto/openpgp, deprecated-by-design, no fixed version exists or is plannedGO-2026-5037/38/39— Go stdlib, fixed in go1.26.4 butsetup-go: stablestill resolves to go1.26.3 because theactions/go-versionsmanifest lagsGO-2026-5841has a fixed version available today, so adding it there would misuse that mechanism and leave a real advisory silently suppressed.Scope
The dependency remains indirect — it reaches us via
prometheus/client_golang→klauspost/compress/zstd. Onlyzstdis used, not the affecteds2package, so actual exposure was low. I am not leaning on that: the fix is one line, so reachability does not need arguing.Type of change
Test plan
go build ./...— passgo mod tidy— clean, and the bump survived it, which is the non-obvious risk here:tidyrecomputes MVS minimums and can silently revert an indirect-dependency bump. Verifiedgo.modstill readsv1.18.7afterwards.go.mod(1 line) +go.sum(2 lines), nothing elsegovulncheck— could not run locally (not installed in my environment). CI'sGo Vulnerability Checkis the verification, and it is the check this PR exists to fix.I have deliberately not claimed to have confirmed the advisory is cleared. The fixed version comes from the Go vulnerability database entry for
GO-2026-5841(affected[].ranges[].events[].fixed = 1.18.7), and CI will confirm.API Compatibility
v1beta1API.No first-party code changes.
Does this introduce a user-facing change?
No.
Special notes for reviewers
Renovate would normally own this, but
renovate.jsonextendsconfig:recommendedand this is an indirect dependency, so a bump is not guaranteed to be proposed promptly — andmainis red until it lands.Unrelated observation while verifying, flagged rather than fixed here to keep this PR single-purpose:
mainnow reports 4paralleltest/tparallelfindings inpkg/authz/authorizers/cedar/core_test.gounder golangci-lint 2.12.2 locally, which CI does not flag. That looks like a linter-version difference between local installs and the action's default, and it means localtask lintis no longer clean onmainfor anyone. Worth a separate look.Generated with Claude Code