CVE-2026-116366:ClickHouse 未认证 RCE,CVSS 9.5 波及自建集群

ClickHouse 于 10 月 30 日披露一处严重漏洞,编号 CVE-2026-116366,CVSS 4.0 评分 9.5。具备网络访问能力的未认证攻击者在特定条件下可在 ClickHouse Server 上执行任意代码。ClickHouse Cloud 与 BYOC 部署已由厂商侧完成修复,自建集群、Docker 与 Kubernetes 部署需要自行升级。

事件概述

漏洞由 ClickHouse 官方安全变更日志披露,同日发布修复版本,并回溯到多个仍在维护的分支。修复版本包括:

  • 26.10.3.7-stable
  • 26.9.27.3-stable
  • 26.8.36.3-lts
  • 26.3.62.3-lts
  • 25.12.1.1713 及同批其他发布

官方对漏洞的表述相当克制:「在特定条件下,可能允许具备网络访问的未认证用户执行任意代码」。公告没有说明这些条件具体是什么,也没有说明涉及哪个端口、漏洞如何从内存破坏走到代码执行。

技术细节

CVE 记录把缺陷归类为 CWE-190,即整数溢出。CVSS v4.0 向量里的攻击复杂度被标为 High——按 FIRST 的定义,AC:H 意味着攻击者需要绕过地址空间随机化之类的防护,或者需要目标特有的秘密信息。

但打分的 CNA 与报告者对严重性的判断存在落差。CVE 记录中署名研究者 Elshad Toklayev 在 10 月 30 日于 X 上称,这是一个「只需要公开主机名就能打」的未认证 RCE。ClickHouse 官方并未重复这一说法。这个落差直接决定防守方的判断:如果真是「有公网域名就行」,那么所有把 8123 或 9000 端口暴露在外的实例都处在风险中;如果条件严格,风险面会小一些。在厂商补充技术细节之前,按前者准备更稳妥。

另一个容易被忽略的点是「未认证」的含义。认证发生在登录环节,而这个漏洞在登录之前就可以触发,因此强密码、按用户下发的访问控制规则都不构成防护。真正构成防护的是可达性——攻击者连不上的服务,就没有可攻击的入口。

影响评估

CISA 已于 10 月 30 日 16:36 UTC 为该记录补充富化信息,评估利用状态为 none、可自动化程度为 no,但技术影响为 total。也就是说,官方情报口径认为暂未被在野利用,一旦被利用则是完全失陷。

截至 10 月 30 日,该漏洞不在 CISA KEV 目录中,Exploit-DB、Metasploit 与 GitHub 上也未检索到公开利用代码。这两项结论都不能排除已被私用,只能说明目前没有公开痕迹。

需要关注的暴露面是四个端口:8123(HTTP)、8443(HTTPS)、9000(原生 TCP)、9440(原生 TLS)。国内大量 ClickHouse 部署用于日志分析和实时数仓,为方便 BI 工具直连,把 8123 直接开在公网的情况并不少见。

修复建议

按以下顺序推进,先修暴露节点,再修内网节点:

  • 盘点。执行 SELECT version() 记录每台节点的构建号与归属人,包含 Docker 与 K8s 中的实例。
  • 测可达性。从自己的网络外部探测 8123、8443、9000、9440 四个端口,确认哪些实例能被公网直接访问。
  • 收敛端口。用防火墙、私有网络或 Cloud IP 访问列表关掉不该公开的端口,这一步能在升级前先把风险压下去。
  • 升级。把暴露节点先升到所在分支的修复构建,再处理其余节点,升级后逐台确认版本号。
  • 观察。重点看崩溃、新增子进程、异常外连流量三类迹象。

如果实例确实需要对外提供查询服务,建议在前面加一层反向代理做认证与限速,不要让 ClickHouse 自己承担公网入口的角色。

参考来源