CVE-2026-39835: Invoking server panic during CheckHostKey/Authenticate in golang.org/x/crypto/ssh
SSH servers which use CertChecker as a public key callback without setting IsUserAuthority or IsHostAuthority could be caused to panic by a client presenting a certificate. CertChecker now returns an error instead of panicking when these callbacks are nil.
Security readout for executives and security teams
Plain-English summary
This vulnerability can let an unauthenticated SSH client crash certain Go-based SSH servers. It affects applications using golang.org/x/crypto/ssh CertChecker in a specific incomplete configuration. The main business risk is service outage, not data theft or direct system takeover based on the provided sources.
Executive priority
Treat as high priority for internet-facing or business-critical Go SSH services. Prioritize inventory first because only a specific certificate-authentication configuration appears exposed. Patch or reconfigure affected services promptly to reduce outage risk.
Technical view
In golang.org/x/crypto/ssh, SSH servers using CertChecker as a public key callback without IsUserAuthority or IsHostAuthority could panic when a client presents a certificate. The issue is CWE-476 with CVSS 7.5, driven by network-reachable, unauthenticated availability impact.
Likely exposure
Exposure is likely limited to custom or embedded Go SSH servers using golang.org/x/crypto/ssh CertChecker for certificate authentication with the authority callbacks unset. Standard SSH deployments are not shown as affected by the supplied evidence.
Exploitation context
The bundle does not show active exploitation, and KEV is false. The described trigger is remote and unauthenticated, but only works against servers with the vulnerable CertChecker configuration. Impact is denial of service through server panic.
Researcher notes
Evidence supports a nil-callback panic in CertChecker during CheckHostKey or Authenticate paths. Confidentiality and integrity impact are not indicated. Exact affected and fixed module versions are not present in the supplied bundle, so validate against GO-2026-5015 or vendor advisories.
Mitigation direction
Update golang.org/x/crypto/ssh according to Go vulnerability guidance.
Apply relevant Red Hat advisories where downstream packages are affected.
Configure CertChecker with appropriate IsUserAuthority or IsHostAuthority callbacks.
Check vendor guidance before assuming a fixed version not listed here.
Validation and detection
Inventory Go services importing golang.org/x/crypto/ssh.
Identify SSH server code using CertChecker as PublicKeyCallback.
Verify IsUserAuthority or IsHostAuthority is configured where certificates are accepted.
Confirm dependency status against GO-2026-5015 and vendor advisories.
Add regression coverage that certificate authentication returns an error, not a panic.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.