Description
etcd is a distributed key-value store for the data of a distributed system. Prior to versions 3.5.33, 3.6.14, and 3.7.1, a network attacker who can reach an etcd TLS listener can open many TCP connections and never send a ClientHello. In client/pkg/transport/listener_tls.go, each connection handled by tlsListener.acceptLoop spawns a goroutine that blocks indefinitely inside tls.Conn.Handshake() and remains tracked in the pending map. Unbounded goroutine and map growth can exhaust memory in the etcd process, causing loss of availability for the cluster and, when etcd backs Kubernetes, the control plane. This issue is fixed in versions 3.5.33, 3.6.14, and 3.7.1.
Published: 2026-08-12
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from the TLS listener’s acceptLoop spawning a new goroutine for each incoming TCP connection without imposing any deadline or limit. A malicious actor can open many connections and refrain from sending a TLS handshake, causing each goroutine to block forever inside tls.Conn.Handshake() and remain in a pending map. The unbounded growth of goroutines and the map can deplete the etcd process’ memory, leading to a loss of availability for the entire cluster and, when used in a Kubernetes control plane, a denial of service for the control plane itself. This is a classic denial‑of‑service weakness, classified as CWE-770.

Affected Systems

The affected product is etcd from etcd-io. Vulnerable versions are all releases prior to 3.5.33, 3.6.14, and 3.7.1. Any installation of etcd in that range that exposes a TLS listener to the network is susceptible.

Risk and Exploitability

The vulnerability has a CVSS score of 8.7, indicating a high severity. The EPSS score is unavailable, and it is not listed in the CISA KEV catalog, which suggests no confirmed public exploits yet. The likely attack vector is network-based; any host that can reach an etcd TLS listener can initiate the attack by opening numerous TCP connections and not completing the TLS handshake. The exploit requires no authentication and can be performed from outside the cluster, making it a low‑threshold threat for attackers with network reach to the listener.

Generated by OpenCVE AI on August 13, 2026 at 02:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update etcd to release 3.5.33, 3.6.14, or 3.7.1 or newer to apply the vendor fix.
  • If an upgrade is not immediately possible, restrict network access to the TLS listener using firewall rules or service mesh ingress control to limit the rate and number of connections a single host can establish.
  • Consider disabling or removing the open TLS listener if it is not required, or replace it with a secured listener that enforces connection limits and timeouts at the application level.

Generated by OpenCVE AI on August 13, 2026 at 02:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6vch-q96h-7gc3 etcd: `tlsListener.acceptLoop` spawns unbounded handshake goroutines with no deadline
History

Wed, 19 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Sat, 15 Aug 2026 01:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 13 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
First Time appeared Etcd
Etcd etcd
Vendors & Products Etcd
Etcd etcd

Wed, 12 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
Description etcd is a distributed key-value store for the data of a distributed system. Prior to versions 3.5.33, 3.6.14, and 3.7.1, a network attacker who can reach an etcd TLS listener can open many TCP connections and never send a ClientHello. In client/pkg/transport/listener_tls.go, each connection handled by tlsListener.acceptLoop spawns a goroutine that blocks indefinitely inside tls.Conn.Handshake() and remains tracked in the pending map. Unbounded goroutine and map growth can exhaust memory in the etcd process, causing loss of availability for the cluster and, when etcd backs Kubernetes, the control plane. This issue is fixed in versions 3.5.33, 3.6.14, and 3.7.1.
Title etcd: `tlsListener.acceptLoop` spawns unbounded handshake goroutines with no deadline
Weaknesses CWE-770
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T17:53:16.094Z

Reserved: 2026-08-12T19:00:33.736Z

Link: CVE-2026-73500

cve-icon Vulnrichment

Updated: 2026-08-13T17:49:15.791Z

cve-icon NVD

Status : Received

Published: 2026-08-12T22:17:17.290

Modified: 2026-08-13T18:18:17.850

Link: CVE-2026-73500

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-12T21:22:25Z

Links: CVE-2026-73500 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T10:15:07Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling