← 文章 / 云原生与基础设施
etcd 5小时前 · 2026-09-04 10:18:51 · 3 阅读

etcd 发布 v3.7.1、v3.6.14 和 v3.5.33 补丁版本

SIG-etcd 已为所有三个受支持的发行分支发布补丁更新。这些版本修复了两项安全漏洞、若干次要安全问题,以及服务器、客户端库和 TLS 栈中的多项可靠性问题。运行 v3.5、v3.6 和 v3.7 的用户应在下次计划维护窗口时尽快更新。 获取更新入口如下: - v3.7.1 - v3.6.14 - v3.5.33 官方容器镜像可从 gcr.io 获取。

安全修复:Watch 响应跨越 RBAC 键边界泄露

三个版本均修复了一项漏洞:被授权对单个 key 读取的用户可能接收到从该 key 起始的所有 key 的 watch 事件通知,从而暴露超出其权限范围的数据。 此漏洞不影响作为 Kubernetes Control Plane 一部分的 etcd。它仅影响在不受信任或部分受信任环境中启用了 Auth 的 etcd 集群。 以此方式依赖 etcd Auth 的用户应立即更新集群。其他 etcd 用户可在下次定期维护窗口时更新。 有关该漏洞的更多信息,包括临时规避方案,请参阅 漏洞公告

致谢

该漏洞由 etcd 社区成员报告。我们的 SIG 衷心感谢以下人员: - Luis Toro - Anthropic 及 Adam Korczynski 如果你发现 etcd 的安全漏洞,请通过 GitHub 上的表单 进行报告。

安全修复:tlsListener.acceptLoop 在无截止时间的情况下产生无限数量的握手 goroutine

本次补丁修复了一项漏洞:网络攻击者可以打开但无法完成数量不限的 TLS 客户端连接,最终耗尽 etcd 服务器资源,导致服务不可用。此安全漏洞会影响 Kubernetes control plane。 关于该漏洞的更多信息,包括临时解决方案,请参阅漏洞报告

致谢

该漏洞由 VMware by Broadcom 团队的成员发现并修复。感谢该团队为帮助保障 etcd 的安全性所做的贡献。

三个版本共有的安全与可靠性修复

除已报告的两项安全修复外,这三个版本还包含一系列针对 etcd 安全性和可靠性的修复:

  • 对等租约处理程序的无界读取:用于对等租约请求的 HTTP 处理程序可执行无界的 io.ReadAll,使得恶意或行为异常的节点能够导致内存过度消耗。现已通过限制读取量来修复此问题。
  • 事务成本核算costTxnReq 函数未对嵌套的 RequestTxn 操作进行核算,可能导致请求成本估算不准确。
  • HTTP 服务器超时:现在在面向客户端的 HTTP 服务器上设置了 ReadHeaderTimeout,以防范可能无限期保持连接打开的慢头攻击。
  • 客户端 leaseCache 数据竞争clientv3 中对 leaseCache.entries 的并发 map 迭代未进行正确同步,可能在并发租约操作下导致 panic 或行为异常。
  • TLS 握手超时client/pkg/v3 中的 TLS 监听器现在设置了 tlsHandshakeTimeout,防止停滞的 TLS 握手无限期保持连接打开。

v3.7.1 和 v3.6.14 additionally 修复了一个 snapshotLimitByte 配置问题:快照大小限制未初始化为合理默认值,在某些配置下可能导致快照无限增长。

v3.6.14 和 v3.5.33 的依赖更新

v3.6.14 和 v3.5.33 将 Go 编译器更新至 go 1.25.12

v3.5.33 还将 golang.org/x/net 升级至 v0.56.0 以解决 GO-2026-5942,并将 golang.org/x/text 升级至 v0.39.0 以解决 GO-2026-5970

各版本的完整变更日志:

最后修改于 2026年8月20日: 更新旧博客文章以链接至安全漏洞报告表单 (#1215) (8245979)
原始来源: etcd

评论 (0)