CRITICAL🇵🇱 Wersja polska

CVE-2026-39831

CVSS 9.1pub. 2026-05-22upd. 2026-06-02

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.

🤖 AI Analysis
How it works

FIDO/U2F security keys (types sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com) according to the standard require physical touch of the device by the user — this fact is encoded in the User Presence flag in the signature structure. The Verify() method in the golang.org/x/crypto library did not verify this flag, accepting signatures generated without confirmation of physical presence. As a result, an attacker with access to the private key or an unattended device could authenticate without physically touching the token. The vendor recommends restoring previous behavior by returning the "no-touch-required" extension in the Permissions.Extensions field from the PublicKeyCallback function.

Impact

An attacker can perform unauthorized SSH authentication using a FIDO/U2F key without physical interaction with the hardware token, resulting in unauthorized system access and potential compromise of data confidentiality and integrity.

Mitigation & patch

Apply patches available from the vendor according to references (https://go.dev/cl/781662, https://pkg.go.dev/vuln/GO-2026-5019). Additionally, to maintain required user physical presence verification, configure PublicKeyCallback to return the "no-touch-required" extension in the Permissions.Extensions field only for clients explicitly permitted to use the key without touch.

Who is affected

The golang.org/x/crypto library (Golang Crypto) — versions indicated in vendor references; affects implementations supporting key types sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com

Analysis generated by Claude AI (Anthropic) based on NVD data. Always verify with vendor.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Golang Crypto

    APP
    Golang
    < 0.52.0
🔵
CHECK WITH VENDOR
No clear patch data available. Check vendor references.
CWE
References

Related vulnerabilities

CVE-2026-39833CRITICAL9.1PL ✓same product

Golang Crypto: brak wymuszenia ograniczenia ConfirmBeforeUse w NewKeyring()

CVE-2026-39834CRITICAL9.1PL ✓same product

Integer overflow w Golang Crypto SSH — nieskończona pętla przy zapisie >4GB

CVE-2026-39832CRITICAL9.1PL ✓same product

Golang Crypto: pominięcie ograniczeń przy przekazywaniu kluczy do zdalnego agenta SSH

CVE-2026-39830CRITICAL9.1PL ✓same product

Golang Crypto: resource leak przez niezamawiane odpowiedzi SSH global request

CVE-2026-42508CRITICAL9.1PL ✓same product

Nieprawidłowa weryfikacja unieważnionych kluczy CA w Golang Crypto