CVE-2026-39828: Go crypto/ssh bypass of certificate restrictions in NewServerConn

CVE-2026-39828 · Severity: medium · CVSS 6.3 · Published 2026-05-22

A vulnerability in the Go SSH library could allow users to bypass security restrictions on their accounts. This library is commonly used by developers to build secure remote access tools and servers. If exploited, an attacker who has already provided one form of identification might be able to skip mandatory security rules, such as being restricted to a single specific command, potentially gaining broader access to the system than intended.

Technologies: golang.org/x/crypto (Go), golang.org/x/crypto/ssh (Go). Vendors: Go.

Quick answers

Is CVE-2026-39828 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-39828 being exploited in the wild.
How severe is CVE-2026-39828?
Medium severity, with a CVSS score of 6.3, published 22 May 2026.
Which products and versions are affected?
golang.org/x/crypto (Go) SEMVER:introduced=0,fixed=0.52.0; golang.org/x/crypto/ssh (Go) < 0.52.0.
Is there a fix for CVE-2026-39828?
Yes. golang.org/x/crypto (Go): upgrade to 0.52.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-39828 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-39828?
Check whether you run golang.org/x/crypto (Go) or golang.org/x/crypto/ssh (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • golang.org/x/crypto (Go): upgrade to 0.52.0 or later
    go get golang.org/x/crypto@v0.52.0

Technical details

A vulnerability exists in the golang.org/x/crypto/ssh package where the server-side authentication logic fails to preserve certificate permissions during multi-step authentication. Specifically, when an authentication callback returns a PartialSuccessError along with non-nil Permissions, the library silently discards those permissions. This can lead to the omission of critical certificate extensions, such as 'force-command', after a subsequent authentication factor (like a second factor) succeeds. An attacker with valid credentials for the first stage of authentication could exploit this to execute arbitrary commands or bypass intended environment restrictions. The issue is resolved in version 0.52.0 by treating the return of non-nil Permissions with a PartialSuccessError as a connection error.

Affected products

  • Go golang.org/x/crypto/ssh < 0.52.0

Identifiers

  • CVE-2026-39828
  • GHSA-45gg-vh54-h5m9
  • GO-2026-5014

Timeline

  • 2026-05-21: disclosed: Issue opened on Go project tracker
  • 2026-05-22: advisory: NVD and Go Vulnerability Database entries published
  • 2026-06-25: advisory: GitHub Advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.