Why
govulncheck ./... reports 13 reachable standard-library vulnerabilities in Go 1.27.1:
net/http, HTTP/2,crypto/tls,crypto/x509,html/template,net/textproto- Most are fixed in Go 1.27.2;
GO-2026-6809(crypto/x509) is fixed in Go 1.27.3.
This is the cheapest and most important production blocker.
Scope
- Build and release with Go 1.27.3 or newer.
- Pin the toolchain in
go.mod(toolchain go1.27.3). - Add
govulncheck ./...to CI and make it a release gate. - Update
golang.org/x/cryptoand other dependencies. - Make the release build reproducible (
-trimpath,CGO_ENABLED=0). - Update
golangci-lintor replace it with a Go 1.27-compatible staticcheck setup.
Acceptance
govulncheck ./...is clean on the release toolchain.- CI fails when a new reachable vulnerability is introduced.
- Release artifacts are built by the pinned toolchain, not the developer machine default.