PYSEC-2026-390
LiteLLM: Authentication bypass via OIDC userinfo cache key collision
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-35030
- Alias
- GHSA-jjhc-v7c2-5hh6
- CVSS_V4
- 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
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.
Paquets affectés
| Paquet | Versions |
|---|---|
| PyPI · litellm | introduced 0, fixed 1.83.0 |
Références
- https://github.com/BerriAI/litellm/security/advisories/GHSA-jjhc-v7c2-5hh6 WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-35030 ADVISORY
- https://github.com/BerriAI/litellm PACKAGE
- https://pypi.org/project/litellm PACKAGE
- https://github.com/advisories/GHSA-jjhc-v7c2-5hh6 ADVISORY
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — PyPA Advisory Database |