Skip to main content

Go x/crypto CVE-2026-46598

| EUVDEUVD-2026-31402 MEDIUM
Improper Validation of Array Index (CWE-129)
2026-05-22 Go GHSA-9m57-25v3-79x9
5.3
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
SUSE
MEDIUM
qualitative
Red Hat
5.3 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

4
Analysis Generated
May 28, 2026 - 14:38 vuln.today
CVSS changed
May 28, 2026 - 14:37 NVD
5.3 (None) 5.3 (MEDIUM)
Patch available
May 22, 2026 - 04:31 EUVD
CVE Published
May 22, 2026 - 02:31 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

For certain crafted inputs, a 'ed25519.PrivateKey' was created by casting malformed wire bytes, leading to a panic when used.

AnalysisAI

Panic-induced denial of service in the golang.org/x/crypto/ssh/agent package allows remote unauthenticated attackers to crash processes by submitting specially crafted SSH agent protocol messages containing malformed wire-format bytes that are unsafely cast into an ed25519.PrivateKey without sufficient validation. All versions of golang.org/x/crypto/ssh/agent prior to 0.52.0 are affected. No public exploit exists at time of analysis (EPSS 0.02%), though the SSVC framework flags the attack as automatable, and a vendor patch is available.

Technical ContextAI

The affected component is the ssh/agent sub-package within Go's extended cryptography library (golang.org/x/crypto), CPE cpe:2.3:a:golang.org/x/crypto:golang.org/x/crypto/ssh/agent:*:*:*:*:*:*:*:*. The SSH agent protocol transmits private key material in a defined wire-byte format; ed25519 private keys have strict length requirements (64 bytes for the private seed and public key combined). CWE-129 (Improper Validation of Array Index) indicates the root cause is insufficient bounds and structural validation before casting raw byte slices into a typed ed25519.PrivateKey. Rather than parsing and verifying the byte slice length and content before constructing the key object, the code performs a direct type cast, allowing malformed inputs to produce an internally inconsistent key object whose subsequent use triggers a Go runtime panic.

RemediationAI

The primary fix is to upgrade golang.org/x/crypto to version 0.52.0 or later, which incorporates the upstream patch at https://go.dev/cl/781360. The issue tracker entry is at https://go.dev/issue/79596, and the Go vulnerability database entry at https://pkg.go.dev/vuln/GO-2026-5033 provides module-level guidance for running 'go get golang.org/x/crypto@v0.52.0' and rebuilding affected binaries. If immediate upgrade is not possible, a compensating control is to restrict access to the SSH agent socket to trusted local processes only (e.g., via filesystem permissions on the UNIX domain socket or network ACLs for TCP-exposed agents), preventing untrusted callers from submitting crafted key material. This workaround does not eliminate the vulnerability but reduces the attack surface to already-authenticated or locally privileged callers; its trade-off is potential disruption to legitimate multi-user agent forwarding scenarios.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SLES15-SP6-CHOST-BYOS-GCE Fixed
SLES15-SP7-CHOST-BYOS-GCE Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed

Share

CVE-2026-46598 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy