Etcd Patch Releases: v3.7.1, v3.6.14, and v3.5.33
SIG-etcd has released patch updates across all three supported release branches. These releases fix two security vulnerabilities, several minor security issues, and address several reliability issues in the server, client library, and TLS stack. Users on v3.5, v3.6, and v3.7 should update at the next scheduled maintenance window.
Obtain the updates here:
Official container images are available from gcr.io.
Security Fix: watch responses leaked across RBAC key boundaries
All three releases fix a vulnerability where a user granted read permission on a single key could receive watch event notifications for every key starting from that key, exposing data beyond their authorized scope.
This vulnerability does not affect etcd as a part of the Kubernetes Control Plane. It only affects etcd clusters with Auth enabled in untrusted or partially trusted environments.
Users depending on etcd Auth in this way should update their clusters immediately. Other etcd users can update at the next regularly scheduled maintenance period.
More information on the vulnerability, including workarounds, may be found in its vulnerability report
Acknowledgements
This vulnerability was reported by members of the etcd community. Our SIG is deeply thankful to:
- Luis Toro
- Anthropic and Adam Korczynski
If you find a vulnerability in etcd, please report it to our security team.
Security Fix: tlsListener.acceptLoop spawns unbounded handshake goroutines with no deadline
This patch release fixes a vulnerability where a network attacker could open, but not complete, an indefinite number of TLS client connections. This would eventually exhaust etcd server resources, causing lack of availability. This security vulnerability affects the Kubernetes control plane.
More information on the vulnerability, including workarounds, may be found in its vulnerability report
Acknowledgements
This vulnerability was found, and patched, but members of the VMware by Broadcom team. We are grateful to this team for helping keep etcd secure.
Security and reliability fixes shared across all three releases
Beyond the two reported security fixes, all three releases include a set of fixes for both security and reliability of etcd:
- Unbounded read on peer lease handler: the HTTP handler for peer lease requests could perform an unbounded
io.ReadAll, allowing a malicious or misbehaving peer to cause excessive memory use. This has been fixed by capping the read. - Transaction cost accounting: the
costTxnReqfunction was not accounting for nestedRequestTxnoperations, which could cause request cost estimates to be inaccurate. - HTTP server timeouts: a
ReadHeaderTimeoutis now set on the client-facing HTTP server, protecting against slow-header attacks that could hold connections open indefinitely. - Client
leaseCachedata race: a concurrent map iteration overleaseCache.entriesinclientv3was not properly synchronized, which could cause a panic or incorrect behavior under concurrent lease operations. - TLS handshake timeout: the TLS listener in
client/pkg/v3now sets atlsHandshakeTimeout, preventing stalled TLS handshakes from holding connections open indefinitely.
v3.7.1 and v3.6.14 additionally fix a snapshotLimitByte configuration issue where the snapshot size limit was not initialized to a reasonable default, which could allow snapshots to grow without bound in some configurations.
Dependency updates in v3.6.14 and v3.5.33
v3.6.14 and v3.5.33 update the Go compiler to go 1.25.12.
v3.5.33 also bumps golang.org/x/net to v0.56.0 to address GO-2026-5942 and golang.org/x/text to v0.39.0 to address GO-2026-5970.
Full changelogs for each release: