Skip to content

fix: bump Go to 1.27.3 for reachable stdlib vulnerabilities - #34

Merged
groyoh merged 2 commits into
mainfrom
fix/go-1.27.3-stdlib-vulns
Nov 5, 2026
Merged

groyoh merged 2 commits into
mainfrom
fix/go-1.27.3-stdlib-vulns

Conversation

@sarkissianraffi

@sarkissianraffi sarkissianraffi commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

The Security scan job fails on every PR and on the scheduled run on main (failing since 2026-10-26). go.mod pins go 1.27.0, setup-go reads that version, and govulncheck finds nine standard-library advisories reachable from transport.Client.Do.

Fixed in Advisories
go1.27.2 GO-2026-6617, 6613, 6611, 6610, 6608, 6607, 6605, 6603 (net/http, http2, crypto/tls, net/textproto)
go1.27.3 GO-2026-6809 (crypto/x509)

Change

  • Go floor to 1.27.3 in the four places the toolchain test requires to agree: go.mod, Dockerfile, README.md, minimumGoVersion.
  • gosec 2.29.0 to 2.30.0 in security.yml and scripts/security-check.sh. 1.27.3 writes export data version 5; 2.29.0 decodes up to 4 and reported every import as an internal error. 2.30.0 reports 0 issues.
  • Two coverage floors re-measured, not lowered. 1.27.3 counts a, b := f() as one statement (1.27.0 counted one per name) and a map literal as one (was two). On unchanged main, blocks and hits are identical between toolchains:
Package 1.27.0 1.27.3 Floor
internal/config 98/114 = 86.0% 93/109 = 85.3% 86.0 → 85.0
internal/diagnostics 28/50 = 56.0% 26/48 = 54.2% 56.0 → 54.0

Both old values are recorded in coverage.floors, following the 2026-09-01 precedent. DECISIONS.md and CHANGELOG.md carry the entry.

Verified locally on go1.27.3

Every step of verify and scan: generate-check, lint, test, test-e2e-compile, coverage, check-ci-policy, check-fixtures, gosec, govulncheck ("No vulnerabilities found"), moneycheck, check-licenses, security-check.sh. All exit 0.

Unblocks #33 and any other open PR once merged.

govulncheck flags nine standard-library advisories reachable from
transport.Client.Do on Go 1.27.0: eight fixed in 1.27.2 and
GO-2026-6809 (crypto/x509) fixed in 1.27.3. The Security scan has
failed on main since 2026-10-26 and on every PR since.
gosec 2.29.0 cannot decode the version 5 export data Go 1.27.3 writes;
2.30.0 can and reports no findings.

Go 1.27.3 counts a multi-value assignment as one statement and a map
literal as one, so internal/config reads 85.3% and internal/diagnostics
54.2% on an unchanged main with identical blocks and hits. Both floors
are re-measured, with the 1.27.0 values recorded.
@groyoh
groyoh merged commit 200970c into main Nov 5, 2026
12 checks passed
@groyoh
groyoh deleted the fix/go-1.27.3-stdlib-vulns branch November 5, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants