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 user granted READ permission on a single exact key can use the Watch gRPC API with clientv3.WithFromKey() to receive watch events for every key lexicographically greater than or equal to the permitted key. In server/etcdserver/api/v3rpc/watch.go, the open-ended RangeEnd sentinel is rewritten before the RBAC permission check in server/auth/range_perm_cache.go function isRangeOpPermitted, causing the request to be treated as an exact-key watch. Range/Get and DeleteRange requests are not affected, and the issue affects only clusters with authentication enabled. This issue is fixed in versions 3.5.33, 3.6.14, and 3.7.1.
Published: 2026-08-12
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in etcd’s Watch gRPC API allows a user who only has READ access to a single exact key to issue an open‑ended watch that returns events for all keys lexicographically greater than or equal to that key. The bug lies in the re‑writing of the RangeEnd sentinel before the RBAC permission check, causing the request to bypass the intended exact‑key filter. Consequently, an attacker can observe or download data not covered by their explicit permissions, leading to data disclosure.

Affected Systems

etcd clusters running any of the following versions: 3.5.x prior to 3.5.33, 3.6.x prior to 3.6.14, or 3.7.x prior to 3.7.1, and which have authentication enabled. The fix is released in the mentioned versions and does not affect Range/Get or DeleteRange operations.

Risk and Exploitability

The CVSS score of 7.1 indicates a high severity vulnerability. The EPSS score indicates a probability of exploitation less than 1%, suggesting a very low likelihood that attackers will exploit this flaw. The issue is not listed in CISA’s KEV catalog. Attackers with read permission can exploit the flaw remotely via a client over gRPC, bypassing RBAC to watch and retrieve additional keys. The impact focuses on confidentiality, allowing data exfiltration across the key‑value store. No elevated privileges or denial of service are involved. The vulnerability can be exploited by any client that can execute a watch request against an authenticated etcd cluster.

Generated by OpenCVE AI on August 22, 2026 at 10:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade etcd to version 3.5.33, 3.6.14, or 3.7.1 or newer to receive the patch that prevents the open‑ended watch bypass.
  • If an upgrade is not immediately possible, avoid using clientv3.WithFromKey() or specify an explicit RangeEnd when constructing watches, ensuring the RBAC check is applied correctly.
  • Audit and narrow read‑only permissions and monitor watch usage logs to detect any unintended data exposure.

Generated by OpenCVE AI on August 22, 2026 at 10:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-xg4h-6gfc-h4m8 etcd: Watch API authorization bypass via open-ended range requests
History

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

Type Values Removed Values Added
Weaknesses CWE-551
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Fri, 14 Aug 2026 23:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', '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 user granted READ permission on a single exact key can use the Watch gRPC API with clientv3.WithFromKey() to receive watch events for every key lexicographically greater than or equal to the permitted key. In server/etcdserver/api/v3rpc/watch.go, the open-ended RangeEnd sentinel is rewritten before the RBAC permission check in server/auth/range_perm_cache.go function isRangeOpPermitted, causing the request to be treated as an exact-key watch. Range/Get and DeleteRange requests are not affected, and the issue affects only clusters with authentication enabled. This issue is fixed in versions 3.5.33, 3.6.14, and 3.7.1.
Title etcd: Watch API authorization bypass via open-ended range requests
Weaknesses CWE-863
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-14T22:19:59.624Z

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

Link: CVE-2026-73499

cve-icon Vulnrichment

Updated: 2026-08-14T22:19:54.407Z

cve-icon NVD

Status : Received

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

Modified: 2026-08-14T23:16:33.477

Link: CVE-2026-73499

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-12T21:20:31Z

Links: CVE-2026-73499 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T10:30:17Z

Weaknesses
  • CWE-551

    Incorrect Behavior Order: Authorization Before Parsing and Canonicalization

  • CWE-863

    Incorrect Authorization