Skip to content

fix: Bump Go toolchain to 1.27.2 for standard library vulnerabilities - #1381

Merged
noahbjohnson merged 3 commits into
mainfrom
fix/go-1.27.2-stdlib-vulns
Oct 9, 2026
Merged

noahbjohnson merged 3 commits into
mainfrom
fix/go-1.27.2-stdlib-vulns

Conversation

@isaacschepp

@isaacschepp isaacschepp commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bumps the toolchain directive in go.mod and ci-tools/go.mod from go1.27.1 to go1.27.2, which resolves all 13 open govulncheck code-scanning alerts (code-scanning alerts 255 to 267). Every one is a standard-library vulnerability fixed in Go 1.27.2 (and 1.26.9):

Alert ID Package
267 GO-2026-6617 net/http (HTTP/2 HPACK encoder race)
266 GO-2026-6613 net/http (HTTP/1 CONNECT desync, server)
265 GO-2026-6612 net/http (HTTP/2 double flow-control refund)
264 GO-2026-6611 net/http (HTTP/2 initial window CPU)
263 GO-2026-6610 net/http (HTTP/2 malformed framing headers)
262 GO-2026-6609 net/http (unbounded Range headers)
261 GO-2026-6608 net/textproto, mime/multipart
260 GO-2026-6607 crypto/tls (ECH outer extensions)
259 GO-2026-6605 net/http (HTTP/1 CONNECT desync, client)
258 GO-2026-6604 os (Root.Mkdir following junctions on Windows)
257 GO-2026-6603 net/http (HTTP/2 Trailer memory)
256 GO-2026-6600 html/template (yield preceder)
255 GO-2026-6599 html/template (context tracking)

Every workflow uses go-version-file: go.mod, so CI picks up the new toolchain with no workflow change. golang.org/x/net is already at v0.60.0 (#1379), which covers the x/net side of the HTTP/2 advisories.

Verification

With GOTOOLCHAIN=go1.27.2:

  • go build ./... and go vet ./...: clean
  • go test ./...: all packages pass
  • govulncheck ./...: "Your code is affected by 0 vulnerabilities."

The one remaining module-level finding is GO-2026-5932 (golang.org/x/crypto/openpgp is deprecated), pulled in indirectly by go-git. It has no fixed version, glx does not call it, and it is not among the open alerts.

The Scorecard CodeReviewID alert (code-scanning alert 68) is about repository review process and is not addressable in code.

Resolves govulncheck alerts GO-2026-6599, 6600, 6603, 6604, 6605, 6607, 6608, 6609, 6610, 6611, 6612, 6613 and 6617, all in the standard library (net/http, html/template, os, crypto/tls, net/textproto) and fixed in go1.27.2.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Deploying genealogix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 634c011
Status: ✅  Deploy successful!
Preview URL: https://e4096fc3.genealogix.pages.dev
Branch Preview URL: https://fix-go-1-27-2-stdlib-vulns.genealogix.pages.dev

View logs

@codecov

codecov Bot commented Oct 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

isaacschepp and others added 2 commits October 9, 2026 08:00
….2 export data

Go 1.27.2 writes export data version 5. golangci-lint v2.13.2 and every
gosec release up to v2.29.0 are built against golang.org/x/tools <= v0.49.0,
which stops at version 4, so both type-checked nothing on this branch and
failed ("export data version 5 is greater than maximum supported version 4").

- Bump .golangci-lint-version to v2.14.0 (x/tools v0.50.0), and replace the
  one new modernize finding it reports (strings.CutLast in driftcheck).
- Build the pinned gosec in a throwaway module with x/tools raised to
  v0.50.0, in CI and in `make gosec`, until a gosec release carries it
  (securego/gosec#1771). The .gosec-version pin is unchanged.
@noahbjohnson
noahbjohnson enabled auto-merge (squash) October 9, 2026 21:17
@noahbjohnson
noahbjohnson merged commit 3c3fae5 into main Oct 9, 2026
41 checks passed
@noahbjohnson
noahbjohnson deleted the fix/go-1.27.2-stdlib-vulns branch October 9, 2026 21:18
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