POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listOba endpointy přijímají v těle JSON požadavku kompletní konfiguraci MCP serveru, včetně polí Cmd, args a env, které stdio transport používá ke spouštění serverových procesů . Když ověřený uživatel zavolá některý z těchto endpointů, LiteLLM vezme dodanou hodnotu Cmd a spustí ji jako podproces na hostitelském počítači, a to se stejnými oprávněními, jaká má samotný proces LiteLLM proxy
.
Společnost BerriAI tuto chybu původně zveřejnila jako chybu umožňující ověřené vzdálené spuštění kódu – útočník k dosažení endpointů potřeboval platný API klíč. Neexistovala žádná kontrola rolí, kdo je může volat, takže i interní uživatel s nízkými oprávněními mohl na hostiteli spouštět libovolné příkazy . Tím ale příběh nekončí.
Druhou zranitelností je CVE-2026-48710, výzkumníky přezdívaná „BadHost“. Jedná se o chybu v ověřování HTTP hlavičky Host v rámci Starlette, což je odlehčený ASGI framework, který tvoří základ pro FastAPI, vLLM a tisíce dalších Python webových aplikací – včetně LiteLLM . Chyba se týká všech verzí Starlette od 0.8.3 do 1.0.0
.
Hlavní příčinou je nesoulad mezi tím, jak Starlette směruje příchozí požadavky (ASGI routing), a tím, jak rekonstruuje URL pro potřeby aplikační logiky . ASGI routovací vrstva používá k rozhodování o cílovém endpointu surovou HTTP cestu z požadavku. Avšak
request.url – URL, které vidí middleware a dekorátory – je zpětně sestaveno spojením surové hodnoty hlavičky Host s cestou požadavku, a to bez řádné validace .
Útočník může vložením znaků sloužících jako oddělovače cesty, jako je ? nebo #, do hlavičky Host způsobit, že request.url.path vypadá zcela jinak než skutečná směrovaná cesta . Middleware tak vidí neškodnou cestu, např.
/, zatímco router za jeho zády předá požadavek na skutečný cílový endpoint. Tímto způsobem lze triviálně obejít jakýkoliv autentizační middleware, který důvěřuje request.url.path .
Autentizační dekorátor LiteLLM kontroluje request.url.path, aby určil, zda požadavek potřebuje platný API klíč. Obchvat BadHost umožňuje útočníkovi manipulovat toto URL tak, že autentizační middleware vidí cestu, která ověření nevyžaduje, zatímco ASGI router současně odešle požadavek na jeden ze zranitelných endpointů pro příkazovou injekci .
Tím padá jediná bariéra, která stála mezi internetem a možností spustit na serveru libovolný příkaz. Útočník bez jakýchkoliv přihlašovacích údajů a bez předchozího přístupu do sítě může poslat jediný speciálně vytvořený HTTP požadavek, který zcela obejde autentizaci a spustí příkazy operačního systému na hostitelském stroji proxy serveru LiteLLM . Společnost Horizon3.ai potvrdila funkčnost celého řetězce a přiřadila mu kombinované CVSS skóre 10.0 – maximální závažnost
.
Úspěšné zneužití dává útočníkům možnost spouštět příkazy s oprávněními procesu LiteLLM proxy. Prostor pro hrozby se tak rychle rozšiřuje:
Zařazení CVE-2026-42271 do katalogu KEV dne 8. června 2026 potvrzuje, že zranitelnost není jen teoretická – útočníci ji právě teď aktivně využívají k útokům . Podle závazné provozní směrnice BOD 22-01 musí všechny federální civilní výkonné agentury USA opravit zranitelnosti z katalogu KEV ve stanoveném termínu. CISA zároveň důrazně doporučuje všem organizacím, veřejným i soukromým, aby zařazení do katalogu KEV braly jako prioritu pro nouzové záplatování
.
Oprava zřetězeného exploitu vyžaduje aktualizace na dvou frontách a několik dalších obranných opatření:
Host oproti specifikaci URL a ignoruje hlavičky obsahující neplatné znaky, čímž znemožňuje trik s matením cesty POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost Kombinace maximálního CVSS skóre 10.0, aktivního zneužívání v reálném prostředí a zařazení do CISA KEV katalogu znamená jediné: organizace provozující LiteLLM nebo služby postavené na Starlette musí tuto situaci řešit jako nouzovou událost vyžadující okamžité záplatování a výměnu klíčů. Okno mezi aktivním zneužíváním a krádeží přihlašovacích údajů je již otevřené.
Comments
0 comments