Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.1

CVE-2026-39831: golang.org/x/crypto/ssh accepts security key without touch

CVE-2026-39831 · published 4 months ago
Summary

The SSH library used by several Canonical tools can approve signatures from a hardware security key even when the user does not physically press the key. This means someone could use the key remotely without the owner’s presence, bypassing the intended two‑factor protection. Update the affected packages to the latest version that restores the touch‑required check, or apply the recommended code change to re‑enable the physical‑presence verification.

What to do
  • Update x golang.org/x/crypto to version v0.35.0-aikido.3.
  • Update x golang.org/x/crypto to version 0.52.0.
  • Update golang.org x to version 0.52.0.
  • Update x rootio-golang.org/x/crypto to version v0.45.0-root.io.1.
  • Update x golang.org/x/crypto to version v0.45.0-aikido.1.
  • Update x rootio-golang.org/x/crypto to version v0.31.0-root.io.8.
  • Update x golang.org/x/crypto to version v0.31.0-aikido.8.
  • Update x rootio-golang.org/x/crypto to version v0.35.0-root.io.3.
  • Update x rootio-golang.org/x/crypto to version v0.45.0-root.io.2.
  • Update x golang.org/x/crypto to version v0.45.0-aikido.2.
  • Update x rootio-golang.org/x/crypto to version v0.46.0-root.io.2.
  • Update x golang.org/x/crypto to version v0.46.0-aikido.2.
  • Update x golang.org/x/crypto to version v0.32.0-aikido.3.
  • Update x rootio-golang.org/x/crypto to version v0.32.0-root.io.3.
  • Update x golang.org/x/crypto to version v0.32.0-aikido.5.
  • Update x rootio-golang.org/x/crypto to version v0.32.0-root.io.5.
  • Update x golang.org/x/crypto to version v0.32.0-aikido.4.
  • Update x rootio-golang.org/x/crypto to version v0.32.0-root.io.4.
  • Update x golang.org/x/crypto to version v0.31.0-aikido.9.
  • Update x rootio-golang.org/x/crypto to version v0.31.0-root.io.9.
  • Update debian golang-go.crypto to version 1:0.52.0-1.
  • Update canonical google-guest-agent to version 20240716.00-0ubuntu1~16.04.0+esm3.
  • Update canonical google-guest-agent to version 20241011.01-0ubuntu1~18.04.0+esm3.
  • Update canonical google-guest-agent to version 20250116.00-0ubuntu1~20.04.0+esm3.
  • Update canonical golang-go.crypto to version 1:0.0~git20200221.2aa609c-1ubuntu0.1~esm2.
  • Update canonical google-guest-agent to version 20250116.00-0ubuntu1~22.04.3.
  • Update canonical golang-go.crypto to version 1:0.0~git20211202.5770296-1ubuntu0.1~esm2.
  • Update canonical google-guest-agent to version 20250116.00-0ubuntu1~24.04.4.
  • Update canonical golang-go.crypto to version 1:0.19.0-1ubuntu0.1~esm2.
  • Update canonical google-guest-agent to version 20250506.01-0ubuntu1.2.
  • Update canonical google-guest-agent to version 20250506.01-0ubuntu2.1.
  • Update canonical golang-go.crypto to version 1:0.47.0-1ubuntu0.1~esm1.
  • Update golang crypto to version 0.52.0 or later.
Affected software
Ecosystem VendorProductAffected versions
Ubuntu:Pro:16.04:LTS canonical snapd All versions
Ubuntu:Pro:16.04:LTS canonical google-guest-agent < 20240716.00-0ubuntu1~16.04.0+esm3
Fix: upgrade to 20240716.00-0ubuntu1~16.04.0+esm3
Ubuntu:Pro:18.04:LTS canonical lxd All versions
Ubuntu:Pro:18.04:LTS canonical snapd All versions
Ubuntu:Pro:18.04:LTS canonical golang-go.crypto All versions
Ubuntu:Pro:18.04:LTS canonical google-guest-agent < 20241011.01-0ubuntu1~18.04.0+esm3
Fix: upgrade to 20241011.01-0ubuntu1~18.04.0+esm3
Ubuntu:Pro:20.04:LTS canonical google-guest-agent < 20250116.00-0ubuntu1~20.04.0+esm3
Fix: upgrade to 20250116.00-0ubuntu1~20.04.0+esm3
Ubuntu:Pro:20.04:LTS canonical snapd All versions
Ubuntu:Pro:20.04:LTS canonical golang-go.crypto < 1:0.0~git20200221.2aa609c-1ubuntu0.1~esm2
Fix: upgrade to 1:0.0~git20200221.2aa609c-1ubuntu0.1~esm2
Ubuntu:22.04:LTS canonical google-guest-agent < 20250116.00-0ubuntu1~22.04.3
Fix: upgrade to 20250116.00-0ubuntu1~22.04.3
Ubuntu:22.04:LTS canonical snapd All versions
Ubuntu:Pro:22.04:LTS canonical golang-go.crypto < 1:0.0~git20211202.5770296-1ubuntu0.1~esm2
Fix: upgrade to 1:0.0~git20211202.5770296-1ubuntu0.1~esm2
Ubuntu:24.04:LTS canonical google-guest-agent < 20250116.00-0ubuntu1~24.04.4
Fix: upgrade to 20250116.00-0ubuntu1~24.04.4
Ubuntu:24.04:LTS canonical snapd All versions
Ubuntu:Pro:24.04:LTS canonical golang-go.crypto < 1:0.19.0-1ubuntu0.1~esm2
Fix: upgrade to 1:0.19.0-1ubuntu0.1~esm2
Ubuntu:25.10 canonical golang-go.crypto All versions
Ubuntu:25.10 canonical google-guest-agent < 20250506.01-0ubuntu1.2
Fix: upgrade to 20250506.01-0ubuntu1.2
Ubuntu:25.10 canonical snapd All versions
Ubuntu:26.04:LTS canonical golang-go.crypto All versions
Ubuntu:26.04:LTS canonical google-guest-agent < 20250506.01-0ubuntu2.1
Fix: upgrade to 20250506.01-0ubuntu2.1
Ubuntu:26.04:LTS canonical snapd All versions
Root:Go x golang.org/x/crypto < v0.35.0-aikido.3
< v0.45.0-aikido.1
< v0.31.0-aikido.8
< v0.45.0-aikido.2
< v0.46.0-aikido.2
< v0.32.0-aikido.3
< v0.32.0-aikido.5
< v0.32.0-aikido.4
< v0.31.0-aikido.9
Fix: upgrade to v0.35.0-aikido.3
Go x golang.org/x/crypto < 0.52.0
Fix: upgrade to 0.52.0
Debian:11 debian golang-go.crypto All versions
Debian:12 debian golang-go.crypto All versions
Debian:13 debian golang-go.crypto All versions
Debian:14 debian golang-go.crypto < 1:0.52.0-1
Fix: upgrade to 1:0.52.0-1
Ubuntu:Pro:16.04:LTS canonical golang-go.crypto All versions
Ubuntu:Pro:16.04:LTS canonical lxd All versions
– golang crypto < 0.52.0
cpe:2.3:a:golang:crypto:*:*:*:*:*:go:*:*
go golang.org x < 0.52.0
Fix: upgrade to 0.52.0
Root:Go x rootio-golang.org/x/crypto < v0.45.0-root.io.1
< v0.31.0-root.io.8
< v0.35.0-root.io.3
< v0.45.0-root.io.2
< v0.46.0-root.io.2
< v0.32.0-root.io.3
< v0.32.0-root.io.5
< v0.32.0-root.io.4
< v0.31.0-root.io.9
Fix: upgrade to v0.45.0-root.io.1
Ubuntu:Pro:26.04:LTS canonical golang-go.crypto < 1:0.47.0-1ubuntu0.1~esm1
Fix: upgrade to 1:0.47.0-1ubuntu0.1~esm1
Original advisory text
Invoking bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh
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.
Fix within
Internet-facing 3 days
Internal 60 days
  • Not known to be exploited
  • Can be exploited automatically
  • Gives an attacker full control
Severity
9.1 Critical
Exploitation
<1% chance of attack within 30 days
Type
CWE-862Missing Authorization
Timeline
Published22 May 2026
Updated11 Oct 2026
First seen22 May 2026
Track software like this
Free during beta