CVE-2026-35030LiteLLM 在 1.83.0 之前的版本中存在安全漏洞。当启用 JWT 认证时,OIDC 用户信息缓存仅使用令牌的前 20 个字符作为键。由于相同算法生成的 JWT 头部一致,攻击者可利用此特性,构造前缀相同的恶意令牌。当缓存命中时,攻击者无需合法密钥即可继承合法用户的身份和权限,造成严重的安全风险。
该漏洞源于 LiteLLM 在处理 OIDC 用户信息缓存时的设计缺陷。系统错误地使用 JWT 令牌的前 20 个字符(即 Base64 编码的头部部分)作为 Redis 或内存缓存的键。标准 JWT 头部包含算法和类型字段,对于使用相同算法(如 HS256 或 RS256)的所有令牌,其头部经过 Base64 URL 编码后的前 20 个字符是完全固定的。攻击者无需获取合法用户的私钥或签名,只需生成一个使用相同算法的任意 JWT,其头部前缀即可与合法用户的令牌匹配。当攻击者发送此伪造令牌时,系统检查缓存发现键已存在,便直接返回缓存中合法用户的信息,导致认证被完全绕过。此漏洞默认未启用,仅影响开启了 enable_jwt_auth 的特定配置环境。