CVE-2026-42151Prometheus监控系统在3.5.3和3.11.3之前的版本中存在严重的信息泄露漏洞。该漏洞源于Azure AD远程写入OAuth配置的client_secret字段被错误地定义为普通字符串,而非Secret类型。因此,当Prometheus通过/-/config HTTP API端点提供服务时,未能对该字段进行脱敏处理,导致Azure OAuth客户端密钥以明文形式暴露。任何具有该端点访问权限的用户均可窃取凭据。
该漏洞的技术核心在于Prometheus配置序列化过程中的类型安全检查缺失。Prometheus设计了一套机制,用于在通过HTTP API暴露内部配置时,自动隐藏标记为Secret类型的敏感字段(如密码、密钥),通常显示为"<redacted>"。然而,在storage/remote/azuread模块的实现中,Azure AD OAuth配置的client_secret字段被显式声明为标准的string类型。当系统处理对/-/config端点的请求时,它遍历配置结构体并生成JSON响应。由于client_secret未被识别为Secret类型,脱敏逻辑完全失效。攻击者无需进行身份认证(CVSS向量PR:N),仅需网络可达性(AV:N)即可发起攻击。利用步骤非常直接:攻击者发送一个简单的HTTP GET请求至目标服务器的/-/config路径。服务器响应包含完整的配置信息,其中Azure AD的客户端密钥以明文文本形式存在。一旦获取此密钥,攻击者可以利用OAuth 2.0流程向Azure AD验证身份,从而冒充Prometheus应用程序,潜在地访问受该身份保护的数据或资源。