Skip to content

fix(deps): move to Go 1.26.5 for the crypto/tls advisory - #39

Merged
Jaro-c merged 1 commit into
mainfrom
fix/go-1.26.5-tls-vuln
Jul 15, 2026
Merged

fix(deps): move to Go 1.26.5 for the crypto/tls advisory#39
Jaro-c merged 1 commit into
mainfrom
fix/go-1.26.5-tls-vuln

Conversation

@Jaro-c

@Jaro-c Jaro-c commented Jul 15, 2026

Copy link
Copy Markdown
Member

govulncheck is failing on every pull request here, and on main too — not from any code change. It queries the live vulnerability database, so a newly published advisory turns CI red on its own. main was green on 2026-07-07; the advisory landed since.

Vulnerability #1: GO-2026-5856
Invoking Encrypted Client Hello privacy leak in crypto/tls
  Found in:  crypto/tls@go1.26.4
  Fixed in:  crypto/tls@go1.26.5

It's in the standard library, not a dependency, so no code change fixes it — only the toolchain does.

And it's reachable, not theoretical. The first trace govulncheck reports is the release updater:

internal/updater/updater.go:255:24: updater.httpGet calls http.Client.Do,
  which eventually calls tls.Conn.HandshakeContext

That's the path that downloads a release over TLS.

CI takes its toolchain from go.mod (go-version-file: go.mod), which is the right design — the version is pinned, not floating. So this one line moves the compiler for every job.

Verified by running it, not reading it (Go 1.26.4 → 1.26.5, locally):

1.26.4 1.26.5
govulncheck ./... Your code is affected by 1 vulnerability, exit 3 No vulnerabilities found, exit 0

go build, go vet and the updater / lynxfile tests all pass on 1.26.5.

Unblocks #32 and #38, which are both red on this and have nothing to do with it.

govulncheck fails on every pull request, and on main too -- not from any
code change. It queries the live vulnerability database, so GO-2026-5856
turned CI red the day it was published:

  Vulnerability #1: GO-2026-5856
  Invoking Encrypted Client Hello privacy leak in crypto/tls
  Found in:  crypto/tls@go1.26.4
  Fixed in:  crypto/tls@go1.26.5

It is in the standard library, not a dependency, so no code change fixes
it -- only the toolchain does. And it is reachable, not theoretical: the
first trace govulncheck reports is updater.httpGet calling
http.Client.Do, i.e. the path that downloads a release.

CI takes its toolchain from go.mod (`go-version-file: go.mod`), so this
one line moves the compiler for every job.

Verified by running it: govulncheck reproduced the failure locally on
1.26.4 (exit 3) and reports "No vulnerabilities found" (exit 0) on
1.26.5. build, vet and the updater/lynxfile tests all pass.

Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
@Jaro-c
Jaro-c merged commit 56870d4 into main Jul 15, 2026
19 checks passed
@Jaro-c
Jaro-c deleted the fix/go-1.26.5-tls-vuln branch July 15, 2026 13:38
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.

1 participant