CVE-2024-46508Yeti Platform是一款开源的威胁情报平台。在2.1.12版本之前,系统存在一个严重的安全配置缺陷。该漏洞是由于应用程序使用了硬编码的默认JWT签名密钥“SECRET”所导致的。如果管理员在部署过程中未将`YETI_AUTH_SECRET_KEY`环境变量修改为强随机值,攻击者即可利用这一已知的默认密钥。攻击者无需任何用户交互或预先认证,便可以伪造有效的管理员身份令牌。成功利用此漏洞可能导致攻击者完全绕过身份验证,获取系统最高权限,进而窃取敏感威胁情报数据或破坏系统完整性。
该漏洞的核心原理在于JWT(JSON Web Token)验证机制中的密钥管理不当。JWT通常用于在客户端和服务器之间安全地传递信息,其安全性依赖于只有服务器才知道的签名密钥。在Yeti Platform受影响的版本中,代码逻辑存在缺陷,若未显式配置密钥,则默认使用字符串“SECRET”作为HMAC签名密钥。攻击者通过分析源码或公开信息得知此默认密钥后,可以自行构造包含恶意Payload(如将用户身份设为admin)的JWT数据,并使用“SECRET”进行签名生成合法令牌。当服务器收到带有该伪造令牌的请求时,会使用相同的默认密钥验证签名通过,从而赋予攻击者相应的管理权限。CVSS 3.1评分为7.5,属于高危漏洞,主要影响机密性。