Apache Druid Kerberos认证器因弱随机数生成器导致严重安全漏洞

本文披露了Apache Druid(版本至34.0.0)中Kerberos认证器的一个严重安全漏洞。该漏洞源于当未显式配置签名密钥时,系统会使用非加密安全的弱随机数生成器生成密钥,可能导致身份验证绕过。

漏洞详情

包管理器: Maven 受影响包: org.apache.druid:druid 受影响版本: < 35.0.0 已修复版本: 35.0.0

描述

Apache Druid 的 Kerberos 认证器在未显式设置 druid.auth.authenticator.kerberos.cookieSignatureSecret 配置项时,会使用一个弱回退密钥。在这种情况下,密钥是使用 ThreadLocalRandom 生成的,而它并非加密安全的随机数生成器。这可能允许攻击者预测或暴力破解用于签名身份验证Cookie的密钥,从而可能导致令牌伪造或身份验证绕过。

此外,每个进程都会生成自己的回退密钥,导致不同节点间的密钥不一致。这会在分布式或多Broker部署中引发身份验证失败,实质上导致集群配置错误。建议用户配置一个强的 druid.auth.authenticator.kerberos.cookieSignatureSecret

此问题影响 Apache Druid 至 34.0.0 版本。

建议用户升级到 35.0.0 版本,该版本修复了此问题,强制要求在使用 Kerberos 认证器时必须设置 druid.auth.authenticator.kerberos.cookieSignatureSecret。如果未设置该密钥,服务将无法启动。

参考链接

安全信息

严重等级: 严重 (Critical) CVSS 总体评分: 9.8 CVSS v3 向量: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 弱点类型: CWE-338 (使用加密强度弱的伪随机数生成器)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计