Skip to main content

golang.org/x/crypto/ssh EUVDEUVD-2026-31397

| CVE-2026-39830 CRITICAL
Buffer Overflow (CWE-119)
2026-05-22 Go GHSA-vgwf-h737-ff37
9.1
CVSS 3.1 · Vendor: Go
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Identify Go SSH client or server target
  2. Delivery
    Position attacker-controlled SSH peer
  3. Exploit
    Complete SSH transport handshake
  4. Install
    Send unsolicited global request responses
  5. C2
    Fill internal buffer and block read goroutine
  6. Execute
    Repeat across connections to exhaust resources
  7. Impact
    Denial of service via OOM or FD exhaustion

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, buffer size validation
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The vulnerable code path requires that an attacker-controlled SSH peer be able to send protocol messages to the target after a transport-level SSH connection is established - meaning either the target connects out to an attacker-controlled SSH server, or the target runs a Go SSH server reachable by the attacker. No authentication on the SSH layer is required because unsolicited global request responses are processed at the transport layer before or independent of userauth, matching the CVSS PR:N. The target must be running a Go binary that links golang.org/x/crypto/ssh at a version below 0.52.0 and must keep connections open long enough for the buffer to fill (a small fixed number of unsolicited responses). Limiting factors: the attacker needs network reachability to or from the Go SSH endpoint, impact is confined to availability of that process (no code execution or data disclosure path), and short-lived one-shot SSH clients that exit quickly are minimally affected because the leak does not outlive the process.

Impact

Signals here are sharply conflicting and require interpretation. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/C:H/I:N/A:H) yields 9.1 by treating availability impact as High and asserting confidentiality impact as High, but the described behavior is purely a resource leak with no data disclosure path - the C:H rating appears overstated and the real impact is availability-only (resource exhaustion). SSVC corroborates the more modest view: Exploitation 'none', Technical Impact 'partial', Automatable 'yes'. EPSS at 0.02% (4th percentile) and no entry on CISA KEV align with SSVC's 'none' exploitation finding. The realistic risk is a denial-of-service against long-lived Go SSH clients/servers reachable by an attacker who controls the peer endpoint - meaningful for bastions, CI runners, and SSH-based control planes, but not the critical-priority emergency the 9.1 number suggests. Treat as a medium-priority availability fix, prioritizing internet-exposed Go SSH services.

Exploit ScenarioDerived

An attacker stands up a malicious SSH endpoint (or compromises one) and waits for a vulnerable Go-based client - for example a Terraform provisioner, CI agent, or fleet management tool - to connect; upon completing the handshake, the attacker sends a stream of unsolicited global request responses that fill the client's internal buffer, blocking its read goroutine permanently. Repeating across many connections, or coercing the victim into reconnecting, accumulates leaked goroutines and memory until the process OOMs or exhausts file descriptors. No public exploit is identified at time of analysis, but the protocol-level trigger is trivial to script for anyone with an SSH library.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 02, 2026

Resource exhaustion in the Go golang.org/x/crypto/ssh package allows a malicious SSH peer to leak goroutines and memory by sending unsolicited global request responses that fill an internal buffer and block the connection's read loop. Affected versions are below 0.52.0, and even calling Close() fails to release the blocked goroutine, enabling per-connection resource leaks against any Go application using this library as an SSH client or server. There is no public exploit identified at time of analysis, and the EPSS score of 0.02% (4th percentile) indicates very low observed exploitation interest despite the high CVSS rating.

RemediationAI

Vendor-released patch: golang.org/x/crypto v0.52.0 - upgrade the module dependency with 'go get golang.org/x/crypto@v0.52.0' followed by 'go mod tidy', then rebuild and redeploy all binaries that embed the SSH stack (static linking means library updates alone do not fix already-shipped binaries). Run 'govulncheck ./...' to confirm GO-2026-5017 is no longer reported, and consult the upstream fix commits at https://go.dev/cl/781664 and https://go.dev/cl/781640, the issue tracker at https://go.dev/issue/79564, and the advisory at https://pkg.go.dev/vuln/GO-2026-5017. Where immediate rebuilds are not possible, compensating controls include restricting which SSH peers a Go-based client connects to via allowlists (limits operational flexibility), placing affected SSH servers behind a non-Go SSH proxy such as OpenSSH that terminates the protocol before the Go stack sees it (adds a hop and configuration burden), and aggressive connection idle timeouts plus process-level memory/FD limits and periodic restarts to bound the leak's blast radius (does not stop the underlying leak and may interrupt legitimate sessions).

Affected VersionsENISA

golang.org/x/crypto/ssh 0 <0.52.0

Affected Packages

go golang.org/x/crypto fix: 0.52.0
go golang.org/x/crypto/ssh fix: 0.52.0
euvd golang_org_x_crypto_ssh fix: 0.52.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability lives in the Go standard supplemental cryptography module golang.org/x/crypto/ssh, the dominant pure-Go SSH implementation used by tools like Terraform, Docker, Kubernetes operators, and countless DevOps utilities. Per CWE-119 (Improper Restriction of Operations within the Bounds of a Memory Buffer), the SSH transport layer processes RFC 4254 global request messages and queues responses in a bounded internal channel; a malicious peer sending unsolicited global request *responses* (replies with no matching pending request) fills that channel, causing the goroutine that reads from the SSH transport to block indefinitely on a send. Because the read loop owns the lifecycle signaling for the connection, the blocked goroutine cannot be unwound by Close(), producing a per-connection resource leak of goroutines, memory, and file descriptors. The fix in 0.52.0 silently discards unsolicited global responses rather than buffering them.

Know when Golang Org X Crypto Ssh gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Go) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
SUSE CRITICAL
Red Hat 7.5 HIGH

Primary rating from Vendor (Go).

CVSS VectorVendor: Go

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

3
CVSS changed
Jun 02, 2026 - 16:37 NVD
9.1 (None) 9.1 (CRITICAL)
Patch available
May 22, 2026 - 04:31 EUVD
CVE Published
May 22, 2026 - 02:31 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

A malicious SSH peer could send unsolicited global request responses to fill an internal buffer, blocking the connection's read loop. The blocked goroutine could not be released by calling Close(), resulting in a resource leak per connection. Unsolicited global responses are now discarded.

Executive ViewAI

Why It Matters

A critical vulnerability in the Go SSH library (golang.org/x/crypto) threatens the availability of SSH-based infrastructure components including access controls, CI/CD systems, and remote administration tools. Attackers can trigger resource exhaustion and service unavailability with simple connection attempts, affecting any organization with Go-deployed SSH services. While current exploitation remains minimal (EPSS 0.02%), the simplicity of attack and centrality of SSH to infrastructure access makes immediate patching essential.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Module for HPC 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP6-LTSS Affected

References

Advisories & patches
ADVISORY https://access.redhat.com/errata/RHSA-2026:29455 ADVISORY https://ubuntu.com/security/notices/USN-8447-2 ADVISORY https://vuldb.com/vuln/365126 REF https://access.redhat.com/errata/RHSA-2026:35833 REF https://access.redhat.com/errata/RHSA-2026:36199 REF https://access.redhat.com/errata/RHSA-2026:36207 REF https://access.redhat.com/errata/RHSA-2026:36319 REF https://access.redhat.com/errata/RHSA-2026:36625 REF https://access.redhat.com/errata/RHSA-2026:36648 REF https://access.redhat.com/errata/RHSA-2026:36651 REF https://access.redhat.com/errata/RHSA-2026:36796 REF https://access.redhat.com/errata/RHSA-2026:36797 REF https://access.redhat.com/errata/RHSA-2026:36808 REF https://access.redhat.com/errata/RHSA-2026:37072 REF https://access.redhat.com/errata/RHSA-2026:37268 REF https://access.redhat.com/errata/RHSA-2026:37271 REF https://access.redhat.com/errata/RHSA-2026:37272 REF https://access.redhat.com/errata/RHSA-2026:37275 REF https://access.redhat.com/errata/RHSA-2026:37278 REF https://access.redhat.com/errata/RHSA-2026:37286 REF https://access.redhat.com/errata/RHSA-2026:37296 REF https://access.redhat.com/errata/RHSA-2026:37387 REF https://access.redhat.com/errata/RHSA-2026:40118 REF https://access.redhat.com/errata/RHSA-2026:40262 REF https://access.redhat.com/errata/RHSA-2026:40945 REF https://access.redhat.com/errata/RHSA-2026:40969 REF https://access.redhat.com/errata/RHSA-2026:40972 REF https://access.redhat.com/errata/RHSA-2026:40974 REF https://access.redhat.com/errata/RHSA-2026:41019 REF https://access.redhat.com/errata/RHSA-2026:41031 REF https://access.redhat.com/errata/RHSA-2026:41036 REF https://access.redhat.com/errata/RHSA-2026:41066 REF https://access.redhat.com/errata/RHSA-2026:42146 REF https://access.redhat.com/errata/RHSA-2026:42796 REF https://access.redhat.com/errata/RHSA-2026:43052 REF https://access.redhat.com/errata/RHSA-2026:43692 REF https://access.redhat.com/errata/RHSA-2026:46885 REF https://access.redhat.com/errata/RHSA-2026:47735 REF https://access.redhat.com/errata/RHSA-2026:48151 REF https://access.redhat.com/errata/RHSA-2026:49944 REF https://access.redhat.com/errata/RHSA-2026:51033 REF https://access.redhat.com/errata/RHSA-2026:52857 REF https://access.redhat.com/errata/RHSA-2026:52910 REF https://access.redhat.com/errata/RHSA-2026:54400 REF https://access.redhat.com/errata/RHSA-2026:54531 REF https://access.redhat.com/errata/RHSA-2026:57194 REF https://access.redhat.com/errata/RHSA-2026:57801 REF https://access.redhat.com/errata/RHSA-2026:59467 REF https://access.redhat.com/errata/RHSA-2026:60520 REF https://access.redhat.com/errata/RHSA-2026:61314 REF https://access.redhat.com/errata/RHSA-2026:65964 REF https://access.redhat.com/errata/RHSA-2026:66022 REF https://access.redhat.com/errata/RHSA-2026:66521 REF https://access.redhat.com/errata/RHSA-2026:67450 REF https://access.redhat.com/security/cve/CVE-2026-39830 REF https://bugzilla.redhat.com/show_bug.cgi?id=2480684 REF https://go.dev/cl/781640 REF https://go.dev/cl/781664 REF https://go.dev/issue/79564 REF https://groups.google.com/g/golang-announce/c/a082jnz-LvI REF https://pkg.go.dev/vuln/GO-2026-5017 REF https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-39830.json

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