CVE-2026-39831: Invoking bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh
The Verify() method for FIDO/U2F security key types (sk-ecdsa-sha2-nistp256, sk-ssh-ed25519) 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.
Other sources
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.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/golang.org/x/crypto/sshto a version that resolves this vulnerability.Fixed in 0.52.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-39831?
CVE-2026-39831 has a risk rating of 47, indicating a significant security vulnerability.
How do I fix CVE-2026-39831?
To fix CVE-2026-39831, ensure that the Verify() method for FIDO/U2F security key types checks the User Presence flag.
What are the affected components of CVE-2026-39831?
CVE-2026-39831 affects the Verify() method in the golang.org/x/crypto/ssh package for specific FIDO/U2F key types.
What is the impact of CVE-2026-39831?
The impact of CVE-2026-39831 allows signatures generated without physical touch, enabling unattended use of hardware security keys.
When was CVE-2026-39831 published?
CVE-2026-39831 was published on May 22, 2026.