Skip to main content

golang.org/x/crypto/ssh EUVDEUVD-2026-31395

| CVE-2026-39831 CRITICAL
Missing Authorization (CWE-862)
2026-05-22 Go GHSA-89gr-r52h-f8rx
9.1
CVSS 3.1 · Vendor: Go
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise host with plugged-in FIDO key
  2. Delivery
    Invoke authenticator without touch or replay captured signature
  3. Exploit
    Connect to Go-based SSH server
  4. Execution
    Server's Verify() skips User Presence check
  5. Persist
    Authenticate as victim
  6. Impact
    Access shell or git/CI resources

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target server must be built against golang.org/x/crypto/ssh prior to 0.52.0, must run an SSH server using this library's verification path (not OpenSSH itself), and must accept FIDO/U2F key types sk-ecdsa-sha2-nistp256@openssh.com or sk-ssh-ed25519@openssh.com for authentication. The attacker must already possess a valid signature blob or have the ability to invoke the authenticator without touch - typically via local malware on a host where the security key is inserted, a hijacked ssh-agent forwarding session, or a captured/replayable signature - so although CVSS rates PR:N/UI:N, real-world abuse presupposes prior proximity to the victim's key material. Servers that do not accept sk-* algorithms, or clients (which are unaffected by the missing server-side check), are not exploitable.

Impact

Signals are mixed and worth disentangling. CVSS 9.1 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:N) reflects that an attacker who possesses or can relay an attestation/signature blob can authenticate over the network without privileges or interaction, and SSVC backs this with 'Automatable: yes, Technical Impact: total.' However, EPSS is only 0.01% (2nd percentile), there is no KEV listing, and exploitation status is 'none' - consistent with a vulnerability that weakens a defense-in-depth control (the touch requirement) rather than providing direct unauthenticated RCE. Real-world risk is concentrated in environments that rely on FIDO touch as the sole barrier against signature reuse, malware on the workstation hosting the security key, or hijacked agent-forwarded sessions; for deployments that also require valid private keys or PINs, impact is meaningfully smaller than CVSS suggests. The CVSS A:N is consistent with this being an auth-bypass, not a DoS.

Exploit ScenarioDerived

An attacker who compromises an endpoint with a plugged-in FIDO security key, or who intercepts a previously generated sk-* SSH signature blob, replays or generates a signature with the User Presence flag cleared and authenticates to a Go-based SSH server (bastion, Git server, CI agent) as the legitimate user - bypassing the physical-touch guarantee the user believed was protecting them. No public exploit is identified at time of analysis, but the cryptographic mechanics are straightforward and SSVC marks the issue automatable.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 02, 2026

Authentication bypass in the Go x/crypto/ssh library (versions before 0.52.0) allows SSH servers to accept FIDO/U2F security key signatures that were generated without the required physical user touch. The Verify() method for sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com key types failed to check the User Presence flag, enabling unattended use of stolen or relayed hardware-token signatures. No public exploit identified at time of analysis and EPSS is very low (0.01%), but SSVC rates technical impact as total with automatable exploitation.

RemediationAI

Vendor-released patch: golang.org/x/crypto v0.52.0. Update the module with 'go get golang.org/x/crypto@v0.52.0' (or higher) and rebuild and redeploy all SSH server binaries; the Go team's announcement at https://groups.google.com/g/golang-announce/c/a082jnz-LvI, issue tracker entry https://go.dev/issue/79566, and the fix CL https://go.dev/cl/781662 document the change. After upgrading, the library enforces user-presence by default; operators who legitimately enrolled no-touch FIDO credentials must explicitly opt back in by returning a 'no-touch-required' extension in Permissions.Extensions from their PublicKeyCallback, accepting the trade-off that those specific keys regain pre-patch behavior. If upgrading is blocked, a workable compensating control is to reject sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com algorithms in PublicKeyCallback and require traditional ed25519/ecdsa keys instead, at the cost of losing FIDO-backed SSH on those servers; further references at https://vuldb.com/vuln/365122 and https://pkg.go.dev/vuln/GO-2026-5019.

Affected VersionsENISA

golang.org/x/crypto/ssh 0 <0.52.0

Affected Packages

go golang.org/x/crypto fix: 0.52.0
go golang.org/x/crypto/ssh fix: 0.52.0
euvd golang_org_x_crypto_ssh fix: 0.52.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability lives in golang.org/x/crypto/ssh, the Go ecosystem's primary SSH implementation used by countless server tools, CI runners, bastions, and DevOps utilities (Terraform providers, Kubernetes tooling, Drone, etc.). FIDO/U2F SSH key types defined by OpenSSH embed a flags byte in each signature; bit 0x01 (User Presence) attests that the user physically touched the authenticator. Per CWE-862 (Missing Authorization), the library's Verify() routine for the sk-* SSH algorithms decoded the signature blob but never enforced that this flag was set, so signatures forged or captured without touch passed validation. The fix in https://go.dev/cl/781662 introduces a default touch-required check, with an opt-out via a 'no-touch-required' extension returned from PublicKeyCallback for callers that intentionally provisioned no-touch credentials.

Know when SSH gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Go) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
SUSE CRITICAL
Red Hat 8.1 HIGH

Primary rating from Vendor (Go).

CVSS VectorVendor: Go

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

3
CVSS changed
Jun 02, 2026 - 16:37 NVD
9.1 (None) 9.1 (CRITICAL)
Patch available
May 22, 2026 - 04:31 EUVD
CVE Published
May 22, 2026 - 02:31 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

The Verify() method for FIDO/U2F security key types (sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com) did not check the User Presence flag. Signatures generated without physical touch were accepted, allowing unattended use of a hardware security key. To restore the previous behavior, return a "no-touch-required" extension in Permissions.Extensions from PublicKeyCallback.

Executive ViewAI

Why It Matters

Go x/crypto/ssh versions before 0.52.0 fail to verify the User Presence flag in FIDO/U2F security key signatures, allowing SSH servers to accept signatures from stolen or relayed hardware tokens without physical user interaction. This authentication bypass undermines a core security property of hardware-based authentication across affected systems, risking unauthorized access if security keys are compromised. Vendor-released patch version 0.52.0 is available and requires immediate deployment.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in SSH

View all
CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2014-6278 HIGH POC
8.8 Sep 30

GNU Bash through 4.3 bash43-026 does not properly parse function definitions in the values of environment variables, whi

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2012-6066 CRITICAL POC
9.3 Dec 04

freeSSHd.exe in freeSSHd through 1.2.6 allows remote attackers to bypass authentication via a crafted session, as demons

CVE-2014-6277 CRITICAL POC
10.0 Sep 27

GNU Bash through 4.3 bash43-026 does not properly parse function definitions in the values of environment variables, whi

CVE-2023-38408 CRITICAL POC
9.8 Jul 20

The PKCS#11 feature in ssh-agent in OpenSSH before 9.3p2 has an insufficiently trustworthy search path, leading to remot

CVE-2023-25136 MEDIUM POC
6.5 Feb 03

OpenSSH server (sshd) 9.1 introduced a double-free vulnerability during options.kex_algorithms handling. Rated medium se

CVE-2016-6210 MEDIUM POC
5.9 Feb 13

sshd in OpenSSH before 7.3, when SHA256 or SHA512 are used for user password hashing, uses BLOWFISH hashing on a static

CVE-2015-5600 HIGH POC
8.1 Aug 03

The kbdint_next_device function in auth2-chall.c in sshd in OpenSSH through 6.9 does not properly restrict the processin

CVE-2016-6515 HIGH POC
7.5 Aug 07

The auth_password function in auth-passwd.c in sshd in OpenSSH before 7.3 does not limit password lengths for password a

CVE-2024-6387 HIGH POC
8.1 Jul 01

Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to

CVE-2019-6111 MEDIUM POC
5.9 Jan 31

An issue was discovered in OpenSSH 7.9. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Module for HPC 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP6-LTSS Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy