网安资讯详情 - SecLens 情报雷达

网安资讯,一网打尽。汇集权威漏洞通告与行业要闻,结合分组浏览、智能过滤、RSS订阅 和 Webhook 推送,多通道拓展您的安全情报视野。

go/go.etcd.io/etcd/v3: etcd: Watch API authorization bypass via open-ended range requests

来源: github_advisory · 发布时间 2026-07-25 06:38 (UTC+08:00) · 抓取时间 2026-07-25 06:45 (UTC+08:00)

原文链接

摘要

Severity: HIGH | Package: go/go.etcd.io/etcd/v3 | Affected: >= 3.7.0-alpha.0, < 3.7.1 | Patched: 3.7.1

正文

### Impact _What kind of vulnerability is it? Who is impacted?_ A user granted READ permission on a single, exact key can use the Watch gRPC API with `clientv3.WithFromKey()` (an open-ended, "from this key to the end of the keyspace" watch) to receive watch events for every key lexicographically greater than or equal to their permitted key — not just the one key they were granted. This is an authorization bypass in etcd's RBAC enforcement for the Watch API; Range/Get and DeleteRange requests are not affected. It only affects clusters with authentication enabled — clusters running without auth already allow unrestricted read access. ### Patches _Has the problem been patched? What versions should users upgrade to?_ This vulnerability is patched in the following versions: - etcd 3.7.1 - etcd 3.6.14 - etcd 3.5.33 ### Workarounds _Is there a way for users to fix or remediate the vulnerability without upgrading?_ If upgrading is not immediately possible, the following mitigations reduce exposure: - Audit READ grants. Any READ grant — even on one key — can be leveraged via Watch to read everything after it. Review who holds READ permissions and revoke/tighten any you wouldn't trust with full read access. - Restrict network access. Limit which hosts can reach etcd's client (gRPC) port via firewall rules or network policy, reducing who can attempt exploitation. ### Reporter - Luis Toro ([@lobuhi](https://github.com/lobuhi) on Github) - Anthropic and Adam Korczynski ([@AdamKorcz](https://github.com/AdamKorcz) on Github)

标签

扩展字段

{
  "credits": [
    {
      "login": "lobuhi",
      "type": "reporter"
    },
    {
      "login": "AdamKorcz",
      "type": "reporter"
    }
  ],
  "cwe_ids": [
    "CWE-863"
  ],
  "cwe_names": [
    "Incorrect Authorization"
  ],
  "ghsa_id": "GHSA-xg4h-6gfc-h4m8",
  "package": {
    "ecosystem": "go",
    "name": "go.etcd.io/etcd/v3",
    "patched_version": "3.7.1",
    "vulnerable_range": ">= 3.7.0-alpha.0, < 3.7.1"
  },
  "references": [
    "https://github.com/etcd-io/etcd/security/advisories/GHSA-xg4h-6gfc-h4m8",
    "https://github.com/etcd-io/etcd/commit/6643f80602461a6095c9b294b6512fd9719bef41",
    "https://github.com/etcd-io/etcd/commit/afeaa624da19085b47fb5ccc7c22a8c421bc2eae",
    "https://github.com/etcd-io/etcd/commit/e863b001bbf3367003a543aa3099db9892134cd7",
    "https://github.com/etcd-io/etcd/releases/tag/v3.5.33",
    "https://github.com/etcd-io/etcd/releases/tag/v3.6.14",
    "https://github.com/etcd-io/etcd/releases/tag/v3.7.1",
    "https://github.com/advisories/GHSA-xg4h-6gfc-h4m8"
  ],
  "source_code_location": "https://github.com/etcd-io/etcd",
  "updated_at": "2026-07-24T22:38:25Z"
}