GitHub Advisoryadvisory · PyPI
GHSA-jjhc-v7c2-5hh6 LiteLLM: Authentication bypass via OIDC userinfo cache key collision
CRITICAL
Official page ↗
- Aliases
- CVE-2026-35030
- Ecosystem
- PyPI
- Packages
- litellm
- Severity
- Critical
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
- Weaknesses
- CWE-287
- Reviewed
- 2026-04-03
Affected packages
• PyPI litellm: < 1.83.0 → fixed in 1.83.0
Description
Impact
When JWT authentication is enabled (`enable_jwt_auth: 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.
Related
Alias · CVE (1)
- CVE-2026-35030 LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. vulnerability
Weakness · CWE (1)
- CWE-287 Improper Authentication weakness