### 关键漏洞信息 #### 漏洞概述 - **标题**: Unauthenticated Access to Restful API on Metrics Port (9091) Leads to Critical System Compromise - **严重性**: Critical (9.8/10) - **CVE ID**: CVE-2026-26190 - **受影响版本**: - = 2.6.0, < 2.6.10 - **修复版本**: - 2.5.27 - 2.6.10 #### 漏洞详情 ##### 漏洞1: 弱默认认证在 /expr 端点上 - **问题**: `/expr` 端点在9091端口上接受一个 `auth` 参数,默认为 `by-dev` 来认证,该值可预测且广为人知。 - **影响**: - 泄露敏感配置或凭证,如 MinIO密钥、etcd 凭证等。 - 拒绝服务攻击,可关闭代理服务。 - 任意文件写入,潜在远程代码执行。 ##### 漏洞2: 未认证REST API 在Metrics端口上 - **问题**: 有关业务逻辑的HTTP处理器注册在metrics/management HTTP服务器上,9091端口的`registerHTTPServer()`在`internal/distributed/proxy/service.go`中 (行 170)。这些端点没有强制任何认证,攻击者无需凭据即可执行业务操作。 - **影响**: - 可创建、列举和删除集合。 - 插入和查询数据。 - 管理用户凭据和密码。 #### 概念证明(PoC) 截图中包含Python脚本示例,可用来利用 `/expr` 端点攻击漏洞和未认证REST API漏洞。 #### Internet暴露 大量公开暴露的Milvus实例可通过互联网范围内扫描,利用模式`http.body="404 page not found" && port="9091"`可发现。这表明漏洞在真实生产环境中可能被利用。 #### 影响 - 泄露凭据和秘密。 - 操纵所有数据。 - 管理用户账户。 - 造成服务拒绝。 - 写任意文件,可能导致远程代码执行。 #### 修复措施和缓解 - 移除或禁用 `/expr` 端点。 - 不在metrics端口上注册业务API路由。 - 默认绑定9091端口到localhost。 - 在所有API端点上强制认证。 #### 用户缓解措施 - 使用防火墙规则撤销对9091端口的外部访问。 - 未修复时更改 `etcd.rootPath` 默认值。 #### 致谢 该漏洞是YingLin Xie发现并负责任上报的。独立上报此漏洞的人还有0x1和zznQ。