Executive brief
A vulnerability in the Go SSH library can allow a remote attacker to crash an SSH server. This occurs when the server is configured to use a specific certificate checking component without certain security settings enabled. An exploit would result in a denial-of-service, making the SSH service unavailable to legitimate users.
Technical details
A panic (crash) exists in the golang.org/x/crypto/ssh package within the CertChecker.Authenticate and CertChecker.CheckHostKey flows. The issue occurs when CertChecker is used as a public key callback but the IsUserAuthority or IsHostAuthority fields are left as nil. A remote, unauthenticated attacker can trigger this panic by presenting a certificate during the handshake, leading to a denial-of-service. The fix, introduced in version 0.52.0, ensures that CertChecker returns an error instead of panicking when these callbacks are not configured.
Affected products
- Go golang.org/x/crypto/ssh < 0.52.0
Timeline
- 2026-05-22: disclosed: NVD publication date
- 2026-06-25: advisory: GitHub Advisory published