POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listBegge endepunkter accepterer en komplet MCP-serverkonfiguration i JSON-forespørgslen, inklusive felterne Cmd, args, og env, som bruges af stdio-transporten til at starte serverprocesser . Når en bruger kalder et af disse endepunkter med en sådan konfiguration, tager LiteLLM den medfølgende Cmd-værdi og starter den som en underproces på værtsmaskinen med de samme rettigheder som LiteLLM-proxy-processen selv
.
Oprindeligt blev dette afsløret som en autentificeret RCE-fejl. Man skulle bruge en gyldig API-nøgle for at ramme endepunkterne, men der var ingen rollebaseret kontrol til at forhindre almindelige brugere i at gøre det. Teoretisk set kunne enhver med en intern API-nøgle, uanset privilegieniveau, køre vilkårlige kommandoer på serveren . Men her stopper historien ikke.
Den anden sårbarhed er CVE-2026-48710, døbt "BadHost". Det er en valideringsfejl i HTTP Host-headeren i Starlette, det letvægts ASGI-framework, der ligger til grund for utallige Python webapplikationer – inklusive LiteLLM, FastAPI og vLLM . Fejlen påvirker alle Starlette-versioner fra 0.8.3 til 1.0.0
.
Årsagen er en såkaldt "parser-uenighed" mellem, hvordan Starlette dirigerer indgående forespørgsler, og hvordan det genskaber URL’en til applikationslogikken . Routing-laget bruger forespørgslens rå HTTP-sti til at afgøre, hvilket endepunkt der skal håndtere den. Men
request.url – den URL, som applikationens middleware ser – bliver genskabt ved at sætte den rå Host-header-værdi direkte sammen med forespørgselsstien, uden nogen form for validering .
Ved at indsætte specielle tegn som ? eller # i Host-headeren, kan en angriber få request.url.path til at se helt anderledes ud end den faktisk anmodede sti . Sikkerheds-middlewaren tror, at anmodningen går til en harmløs sti som
/, mens routeren i virkeligheden sender den videre til et beskyttelsesværdigt endepunkt bag kulisserne. Enhver sti-baseret godkendelsesmekanisme, der stoler på request.url.path, kan dermed omgås trivielt .
LiteLLMs godkendelses-dekoratører er netop baseret på request.url.path for at afgøre, om en forespørgsel kræver en gyldig API-nøgle. BadHost-omgåelsen tillader en angriber at manipulere den URL, så godkendelses-middlewaren ser en sti, der ikke kræver login, mens ASGI-routeren samtidig sender forespørgslen til et af de sårbare MCP-endepunkter .
Dette fjerner den eneste adgangskontrol, der stod mellem internettet og vilkårlig eksekvering af kommandoer. En angriber, der hverken har legitimationsoplysninger eller forudgående netværksadgang, kan sende en enkelt, snedigt udformet HTTP-forespørgsel, der helt omgår godkendelsen og kører operativsystemkommandoer på LiteLLM-proxyens vært .
Horizon3.ai har bekræftet, at den fulde kæde virker, og har tildelt den en kombineret CVSS-score på 10.0 – den absolut højeste alvorlighedsgrad – netop fordi den muliggør uautoriseret fjernudførelse af kode .
Succesfuld udnyttelse giver en angriber kommandoeksekvering med de rettigheder, som LiteLLM-proxy-processen kører med. Derfra er trusselsbilledet bredt:
CISA’s tilføjelse af CVE-2026-42271 til KEV-kataloget den 8. juni 2026 er et klart tegn på, at dette ikke er en teoretisk risiko – angrebene sker lige nu . Under deres bindende direktiv (BOD 22-01) skal alle føderale myndigheder i USA patche KEV-listede sårbarheder inden for en fastsat tidsramme. CISA anbefaler desuden på det kraftigste, at alle organisationer, både offentlige og private, behandler KEV-opdateringer som førsteprioriterede nødpatches
.
For at lukke hullet helt kræves opdateringer to steder samt en række vigtige forsvarstiltag:
Host-header og ignorerer headere, der indeholder ugyldige tegn, hvilket forhindrer det "sti-forvirringstrick", som gør godkendelses-omgåelsen mulig POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost-headere Den maksimale CVSS-score på 10.0, den aktive udnyttelse på tværs af internettet og CISAs KEV-klassificering betyder tilsammen, at organisationer, der kører LiteLLM eller Starlette-baserede tjenester, bør betragte dette som en akut nødsituation, der kræver øjeblikkelig patching og nøglerotation. Vinduet mellem en aktiv udnyttelse og tyveri af samtlige legitimationsoplysninger er allerede åbent.
Comments
0 comments