CVE-2026-39831 Invoking bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh

Critical 9.1 Published Updated

Attackers can bypass physical touch requirements for FIDO/U2F security keys in Go SSH, enabling unattended authentication.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-39831?

CVE-2026-39831 is a critical vulnerability in golang.org/x/crypto/ssh, published on 22 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The Verify() method for FIDO/U2F security key types ([email protected], [email protected]) 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.

Weakness: CWE-862

Which versions are affected by CVE-2026-39831?

3 open source packages ship an affected version, including golang.org/x/crypto. It affects 1 product.

PackageAffectedFixed in
golang.org/x/crypto GoAll versions0.52.0
golang.org/x/crypto GoAll versions0.52.0
golang.org/x/crypto GoAll versions0.52.0

Products include Golang Crypto.

How do I fix CVE-2026-39831?

Upgrade golang.org/x/crypto to 0.52.0 or later.

Is CVE-2026-39831 being exploited?

There is no known exploitation of CVE-2026-39831 in the wild and no public exploit code.

Sources

Also known as AZL-87173, AZL-87206, AZL-87281, BELL-CVE-2026-39831, CLEANSTART-2026-CE49224, CLEANSTART-2026-CF84977 and 1119 more.

Is CVE-2026-39831 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free