«Patch now» — det er meldingen fra sikkerhetsforskerne som avdekket tre kritiske sårbarheter i LiteLLM, det populære open source-biblioteket som gir et samlet grensesnitt mot over 100 språkmodeller fra OpenAI, Anthropic og andre leverandører. Den alvorligste feilen har CVSS-score på 9.4.
LiteLLM brukes av utviklerteam til å rute forespørsler mellom ulike LLM-leverandører gjennom én proxy. Verktøyet har over 16 000 GitHub-stjerner og brukes i produksjon av alt fra startups til større organisasjoner. Det er nettopp denne sentrale posisjonen i KI-infrastrukturen som gjør sårbarhetene ekstra alvorlige.
Den mest kritiske feilen (CVE-2026-35030, CVSS 9.4) utnytter OpenID Connect-autentiseringen. LiteLLM cacher brukerinformasjon fra JWT-tokens, men bruker kun de første 20 tegnene som cache-nøkkel. Siden JWT-headere med samme signeringsalgoritme ofte produserer identiske prefixer, kan en angriper lage et token som matcher en legitim brukers cache-oppføring og overta identiteten uten gyldig pålogging.
«Multiple API endpoints leaked password hashes to any authenticated user, regardless of their role» — fra sikkerhetsrådgivningen om den andre sårbarheten
Den andre sårbarheten er et klassisk pass-the-hash-angrep. Passord ble lagret med usaltede SHA-256-hasher, og flere API-endepunkter som /user/info og /spend/users lekket disse hashene til alle autentiserte brukere uavhengig av rolle. Login-endepunktet /v2/login aksepterte rå hasher som gyldige passord. Tre HTTP-forespørsler var nok til full privilege escalation.
Den tredje feilen (CVE-2026-35029, CVSS 8.7) rammer /config/update-endepunktet, som mangler admin-tilgangskontroll. Enhver autentisert bruker kunne registrere egne Python-handlere for remote code execution, lese vilkårlige filer via UI_LOGO_PATH, eller overskrive admin-credentials gjennom miljøvariabler.
LiteLLM-teamet har fikset alle tre sårbarhetene i v1.83.0. Cache-nøkkelen bruker nå en full hash av JWT-tokenet, passord hashes med scrypt og tilfeldige salter, og /config/update krever proxy_admin-rollen. Passordhasher er fjernet fra alle API-responser.
Hva bør du gjøre?
- Oppgrader LiteLLM til v1.83.0 umiddelbart
- Hvis du ikke kan oppdatere: deaktiver OIDC userinfo-caching og begrens distribusjonen av API-nøkler
- Roter alle credentials og API-nøkler som har vært eksponert gjennom LiteLLM-instansen
- Verifiser at
/config/update-endepunktet kreverproxy_admin-rolle etter oppgradering