GitHub Advisoryadvisory · PyPI

GHSA-jjhc-v7c2-5hh6 LiteLLM: Authentication bypass via OIDC userinfo cache key collision

CRITICAL Published 2026-04-03 Modified 2026-04-06 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

References