CVE-2026-35030: LiteLLM has an authentication bypass via OIDC userinfo cache key collision
Impact
When JWT authentication is enabled (enablejwtauth: true), the OIDC userinfo cache uses token[:20] as the cache key. JWT headers produced by the same signing algorithm generate identical first 20 characters.
This configuration option is not enabled by default. Most instances are not affected.
An unauthenticated attacker can craft a token whose first 20 characters match a legitimate user's cached token. On cache hit, the attacker inherits the legitimate user's identity and permissions. This affects deployments with JWT/OIDC authentication enabled.
Patches
Fixed in v1.83.0. The cache key now uses the full hash of the JWT token.
Workarounds
Disable OIDC userinfo caching by setting the cache TTL to 0, or disable JWT authentication entirely.
Other sources
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to 1.83.0, when JWT authentication is enabled (enablejwtauth: true), the OIDC userinfo cache uses token[:20] as the cache key. JWT headers produced by the same signing algorithm generate identical first 20 characters. This configuration option is not enabled by default. Most instances are not affected. An unauthenticated attacker can craft a token whose first 20 characters match a legitimate user's cached token. On cache hit, the attacker inherits the legitimate user's identity and permissions. This affects deployments with JWT/OIDC authentication enabled. Fixed in v1.83.0.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/litellmto a version that resolves this vulnerability.Fixed in 1.83.0 - Upgrade
Upgrade
LiteLLMto a version that resolves this vulnerability.Fixed in v1.83.0 - Configuration
Disable OIDC userinfo caching by setting the cache TTL to 0 (applies to mitigate the identity/permission inheritance on cache hits caused by the OIDC userinfo cache key collision).
LiteLLM OIDC userinfo cache cache TTL = 0 - Configuration
Disable JWT authentication entirely (the bypass occurs when JWT/OIDC authentication is enabled).
LiteLLM JWT authentication enable_jwt_auth = false