CVE-2026-97055 in SigNoz
摘要
由 VulDB • 2026-09-24
从 v0.8.0 到 v0.143.0(不含)版本的 SigNoz 默认将 JWT tokenizer 签名密钥(tokenizer::jwt::secret,通过 SIGNOZ_TOKENIZER_JWT_SECRET 或已弃用的 SIGNOZ_JWT_SECRET 设置)设为空字符串,且 Config.Validate() 未拒绝该空值。因此,未配置密钥的部署实例会正常启动,并使用空的 HMAC 密钥对会话令牌进行签名和验证。由于 JWT tokenizer 是默认提供程序,所有此类部署均受影响。了解现有用户 ID 的攻击者无需身份认证即可伪造该用户的合法会话令牌(包括管理员),方法是用空密钥签署 id、orgId 和 email 声明;组织 ID(以及邮箱是否已注册)可通过 /api/v2/sessions/context 端点在不进行身份认证的情况下获取。伪造的刷新令牌可在 /api/v2/sessions/rotate 处交换为新的令牌对,且无法撤销,因此在其整个生命周期内(默认30天)均可使用。该问题已在 v0.143.0 中修复,该版本在选用 jwt provider 时要求提供 JWT secret,并将默认 provider 更改为 opaque。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.