Description
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.
Published: 2026-05-22
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Verify() for FIDO and U2F keys failed to enforce the user presence flag, allowing signatures to be generated without a physical touch. This defect permits an attacker to use a hardware security key without user interaction, effectively bypassing the authentication mechanism that relies on a trusted device. The vulnerability can lead to unauthorized SSH access to systems that rely on these keys for authentication, compromising confidentiality and integrity of the protected resources.

Affected Systems

The affected product is golang.org/x/crypto/ssh, specifically its handling of sk-ecdsa-sha2-nistp256 and sk-ssh-ed25519 keys. Any Go application or service that uses this library to authenticate SSH connections with FIDO/U2F devices may be impacted. No specific version range is provided, so any version prior to an update that restores the user presence check is potentially vulnerable.

Risk and Exploitability

Because the error resides in the cryptographic verification routine, an attacker can exploit it without needing privileged local access, simply by using the key in a context where the library verifies authentication. The EPSS score is not available, and the vulnerability is not listed in CISA KEV, indicating a lack of known exploitation data. Nonetheless, the severity is high due to the potential to subvert strong authentication. Official guidance recommends restoring the previous behavior by supplying a no-touch-required extension in Permissions.Extensions from the PublicKeyCallback. Until that fix is applied, users should avoid relying on these keys for critical authentication or restrict their use to environments where user presence can be enforced by other means.

Generated by OpenCVE AI on May 22, 2026 at 04:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade golang.org/x/crypto/ssh to a release that restores the user presence check.
  • If an update is not yet available, modify the PublicKeyCallback to return Permissions.Extensions that include the no-touch-required flag, thereby re-enforcing physical interaction.
  • Remove or disable the use of FIDO/U2F keys in environments where user presence cannot be guaranteed, and consider alternative authentication methods.

Generated by OpenCVE AI on May 22, 2026 at 04:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 22 May 2026 04:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-296

Fri, 22 May 2026 03:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Invoking bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-05-22T02:31:27.436Z

Reserved: 2026-04-07T18:13:03.528Z

Link: CVE-2026-39831

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-22T04:16:22.553

Modified: 2026-05-22T04:16:22.553

Link: CVE-2026-39831

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-22T04:30:25Z

Weaknesses