Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ci(govulncheck): build with module toolchain; bump go1.26.3; harden wrapper#370

Merged
clangenb merged 1 commit into
mainfrom
fix/govulncheck-toolchain-go1263
May 18, 2026
Merged

ci(govulncheck): build with module toolchain; bump go1.26.3; harden wrapper#370
clangenb merged 1 commit into
mainfrom
fix/govulncheck-toolchain-go1263

Conversation

@eldara-cruncher
Copy link
Copy Markdown
Collaborator

Problem

govulncheck type-checks targets with the go/types of the toolchain it was built with. CI's go install govulncheck@latest built it with an older Go than the go 1.26 directive, so it reported requires newer Go version and analyzed nothing — and the JSON wrapper silently exited 0 ("no vulnerabilities found"), masking it.

Fix

  • Install govulncheck with the module's own toolchain (GOTOOLCHAIN read from go.mod, self-syncing) and pin @v1.3.0.
  • Bump toolchain go1.26.2 → go1.26.3 — resolves genuine reachable stdlib vulns GO-2026-4971 (net Dial/LookupPort panic) and GO-2026-4918 (HTTP/2 transport infinite loop).
  • Harden the wrapper to fail loudly when govulncheck cannot analyze (non-zero exit, missing config message, or load-error output) instead of false-greening.

Verification

Ran the exact CI wrapper at go1.26.3: govulncheck: suppressed 2 daemon false-positive(s): ['GO-2026-4883', 'GO-2026-4887'], exit 0. Hardened wrapper tested against clean / real-vuln / broken / benign-toolchain-download cases.

🤖 Generated with Claude Code

…rapper

govulncheck type-checks targets with the go/types of the toolchain it was
built with. `go install govulncheck@latest` built it with an older Go than
the `go 1.26` directive, so it emitted "requires newer Go version" and
scanned nothing — which the JSON wrapper silently passed as "no
vulnerabilities found".

- Install govulncheck with the module's own toolchain (read from go.mod)
  and pin to @v1.3.0 for reproducibility.
- Bump toolchain go1.26.2 -> go1.26.3: fixes reachable stdlib vulns
  GO-2026-4971 (net Dial/LookupPort panic) and GO-2026-4918 (HTTP/2 loop).
- Harden the wrapper to fail loudly when govulncheck cannot analyze
  (non-zero exit, missing config message, or load-error output) instead
  of silently passing as no vulnerabilities.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@clangenb clangenb merged commit ac5d0a9 into main May 18, 2026
14 of 17 checks passed
@eldara-cruncher eldara-cruncher deleted the fix/govulncheck-toolchain-go1263 branch June 5, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants