Skip to content

Bump golang.org/x/crypto to v0.52.0 (fixes SSH CVE batch) - #318

Merged
grigory51 merged 1 commit into
mainfrom
fix/x-crypto-cve-0.52.0
Jul 16, 2026
Merged

Bump golang.org/x/crypto to v0.52.0 (fixes SSH CVE batch)#318
grigory51 merged 1 commit into
mainfrom
fix/x-crypto-cve-0.52.0

Conversation

@grigory51

@grigory51 grigory51 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Problem

A security alert reported 9 CVEs in golang.org/x/crypto/sshCVE-2026-46597, -46595, -42508, -39829, -39830, -39831, -39832, -39833, -39834. These are a single May 2026 batch, all fixed in v0.52.0. It includes critical issues (CVSS 9.1): FIDO/U2F User Presence flag bypass, DoS via integer overflow on >4GB SSH channel writes, unenforced @revoked in knownhosts, and an AES-GCM decoder panic.

gnetcli pinned x/crypto v0.14.0 and uses both the SSH client (pkg/streamer/ssh) and server (pkg/gswitch, internal/gvendor), so the server-side auth-bypass and DoS issues apply directly.

How it was fixed

Bumped golang.org/x/crypto to v0.52.0 in all three modules (root, benchmarks/, examples/netsshsetup/). go mod tidy pulled the transitive updates (x/net, x/sys, x/sync, x/text) and raised the go directive in the submodules to satisfy the new x/crypto minimum. No other dependencies were touched — only what closes the alert.

Verification

  • root: go build, go vet, go mod verify — clean
  • root: go test ./... — all green, including pkg/streamer/ssh and pkg/server
  • examples/netsshsetup builds

Known (not a regression from this PR)

benchmarks/ does not build: the module pins the published annetutil/gnetcli v1.0.3, whose main.go calls the stale expr.NewSimpleExprLast200()/FromPattern API. The error is purely a gnetcli API drift; x/crypto is indirect there and updated correctly. Already broken before this change; out of scope.

🤖 Generated with Claude Code

Closes the May 2026 batch of golang.org/x/crypto/ssh advisories
(CVE-2026-46597, -46595, -42508, -39829..-39834), all fixed in v0.52.0.
gnetcli uses both the SSH client (pkg/streamer/ssh) and server
(pkg/gswitch, internal/gvendor), so the server-side auth-bypass and DoS
issues apply directly.

Bumped x/crypto 0.14.0 -> 0.52.0 in the root module and in the
benchmarks/ and examples/netsshsetup/ submodules; go mod tidy pulled the
transitive x/net, x/sys, x/sync, x/text updates and raised the go
directive in the submodules to satisfy the new x/crypto minimum.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@grigory51 grigory51 changed the title Bump golang.org/x/crypto to v0.52.0 (закрывает батч SSH CVE) Bump golang.org/x/crypto to v0.52.0 (fixes SSH CVE batch) Jul 16, 2026
@grigory51
grigory51 merged commit b7aad9b into main Jul 16, 2026
5 checks passed
@grigory51
grigory51 deleted the fix/x-crypto-cve-0.52.0 branch July 16, 2026 10:29
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