IPBUF安全漏洞报告
English
CVE-2025-59390 CVSS 9.8 严重

CVE-2025-59390 Apache Druid Kerberos认证器弱随机数生成器漏洞

披露日期: 2025-11-26

漏洞信息

漏洞编号
CVE-2025-59390
漏洞类型
弱随机数生成器/认证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Apache Druid

相关标签

Apache DruidKerberos弱随机数生成认证绕过ThreadLocalRandomCVE-2025-59390

漏洞概述

Apache Druid的Kerberos认证器在未显式配置druid.auth.authenticator.kerberos.cookieSignatureSecret时使用弱备用密钥。该密钥使用ThreadLocalRandom生成,而非密码学安全的随机数生成器。攻击者可预测或暴力破解用于签名认证Cookie的密钥,可能导致令牌伪造或认证绕过。此外,每个进程生成自己的备用密钥,导致分布式或多代理部署中的密钥不一致,造成认证失败和集群配置错误。

技术细节

漏洞源于Apache Druid的Kerberos认证模块。当cookieSignatureSecret配置缺失时,系统回退到基于ThreadLocalRandom的密钥生成机制。ThreadLocalRandom虽提供随机数,但不适合安全令牌生成,其输出可被预测。攻击者可通过枚举可能的密钥值来伪造有效的认证Cookie,实现未授权访问。同时,多节点部署中各实例生成的密钥各异,导致认证流程在分布式环境中失败。

攻击链分析

STEP 1
信息收集
攻击者获取Apache Druid实例并识别其使用Kerberos认证
STEP 2
密钥预测
通过分析Cookie或利用ThreadLocalRandom的弱点预测签名密钥
STEP 3
Cookie伪造
使用预测的密钥伪造有效的认证Cookie
STEP 4
认证绕过
使用伪造的Cookie通过认证并获取未授权访问权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC概念验证:预测Kerberos Cookie签名密钥 import random import hashlib # ThreadLocalRandom的弱点在于其状态可被部分预测 # 攻击者收集足够的Cookie样本后可推断密钥 def generate_fallback_secret(): # 模拟Druid使用ThreadLocalRandom生成密钥的方式 random.seed() # 使用系统时间等熵源初始化 secret = ''.join([chr(random.randint(0, 255)) for _ in range(32)]) return hashlib.sha256(secret.encode()).hexdigest() print("预测的备用密钥:", generate_fallback_secret())

影响范围

Apache Druid < 34.0.0
Apache Druid 34.0.0

防御指南

临时缓解措施
立即在Kerberos认证器配置中设置druid.auth.authenticator.kerberos.cookieSignatureSecret为强随机密钥,确保使用足够长度和复杂度的密钥。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表