POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listBeide Endpunkte akzeptieren eine vollständige MCP-Serverkonfiguration im JSON-Body der Anfrage, einschließlich der Felder Cmd, args und env, die vom stdio-Transport zum Starten von Serverprozessen verwendet werden . Wenn ein authentifizierter Nutzer einen dieser Endpunkte mit einer solchen Konfiguration aufruft, führt LiteLLM den übergebenen Cmd-Wert als Subprozess auf dem Host-Rechner aus – und zwar mit denselben Betriebssystemrechten wie der LiteLLM-Proxy-Prozess selbst
.
Ursprünglich wurde diese Lücke von BerriAI als authentifizierte Remote-Code-Ausführung gemeldet. Ein Angreifer benötigte also einen gültigen API-Schlüssel, um die Endpunkte zu erreichen. Eine rollenbasierte Zugriffskontrolle, die einschränkt, wer diese Endpunkte aufrufen darf, existierte nicht. Somit konnte bereits ein einfacher, niedrig privilegierter Nutzer mit einem beliebigen gültigen Proxy-API-Schlüssel beliebige Befehle auf dem Host ausführen .
Die zweite Schwachstelle ist CVE-2026-48710, von Forschern als „BadHost“ bezeichnet. Dabei handelt es sich um eine Schwäche in der Validierung des HTTP-Host-Headers im Starlette-Framework. Starlette ist das leichtgewichtige ASGI-Framework, auf dem FastAPI, vLLM und tausende andere Python-Webanwendungen – einschließlich LiteLLM – aufbauen . Betroffen sind alle Starlette-Versionen von 0.8.3 bis 1.0.0
.
Die Ursache liegt in einer Diskrepanz zwischen der Weiterleitung eingehender Anfragen auf ASGI-Routing-Ebene und der Art, wie die URL für die Anwendungslogik rekonstruiert wird . Die ASGI-Routing-Schicht verwendet den rohen HTTP-Pfad aus der Anfrage, um zu entscheiden, welcher Endpunkt die Anfrage bearbeitet. Die URL, die Middleware und Decorators später sehen (
request.url), wird jedoch zusammengesetzt, indem der Inhalt des Host-Headers ungeprüft mit dem Anfragepfad konkateniert wird .
Durch das Injizieren bestimmter Steuerzeichen wie ? oder # in den Host-Header kann ein Angreifer die resultierende request.url.path manipulieren. Die Middleware sieht dann einen völlig harmlosen Pfad wie /, während der Router die Anfrage an den tatsächlichen, geschützten Ziel-Endpunkt weiterleitet. Jede pfadbasierte Authentifizierungs-Middleware, die request.url.path vertraut, kann auf diese Weise trivial umgangen werden .
Der Authentifizierungs-Decorator von LiteLLM entscheidet anhand von request.url.path, ob eine Anfrage einen gültigen API-Schlüssel benötigt. Der „BadHost“-Bypass erlaubt es einem Angreifer, diesen Pfad so zu manipulieren, dass die Middleware keinen Authentifizierungsbedarf erkennt – obwohl die Anfrage vom ASGI-Router gleichzeitig an einen der verwundbaren MCP-Endpunkte weitergeleitet wird .
Damit fällt die einzige Zugangshürde, die zwischen dem Internet und der willkürlichen Befehlsausführung stand. Ein Angreifer ohne jedwede Zugangsdaten und ohne vorherigen Zugriff auf das Netzwerk kann eine einzelne, präparierte HTTP-Anfrage senden, die Authentifizierung vollständig umgehen und Betriebssystembefehle auf dem LiteLLM-Proxy-Host ausführen . Horizon3.ai hat die vollständige Angriffskette in der Praxis bestätigt und ihr den kombinierten CVSS-Score von 10.0 zugewiesen – die höchste Kritikalitätsstufe
.
Eine erfolgreiche Ausnutzung gewährt einem Angreifer Befehlsausführung mit den Rechten des LiteLLM-Proxy-Prozesses. Die Bedrohungsoberfläche ist damit enorm:
Die Aufnahme von CVE-2026-42271 in den KEV-Katalog durch die CISA am 8. Juni 2026 bestätigt, dass die Schwachstelle nicht theoretisch ist – Angreifer nutzen sie bereits jetzt aktiv aus . Gemäß der verbindlichen Betriebsrichtlinie BOD 22-01 sind alle US-Bundesbehörden der zivilen Exekutive verpflichtet, KEV-gelistete Schwachstellen innerhalb einer bestimmten Frist zu schließen. Die CISA empfiehlt zudem ausdrücklich, dass alle öffentlichen und privaten Organisationen die Aufnahme in den KEV-Katalog als dringende Aufforderung zum sofortigen Patchen betrachten
.
Die Absicherung gegen den Exploit erfordert Updates auf zwei Seiten sowie mehrstufige Maßnahmen zur Schadensbegrenzung:
Host-Header und ignoriert Header mit ungültigen Zeichen, was den „Path-Confusion“-Trick und die Authentifizierungsumgehung unmöglich macht POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost-Headern Die Kombination aus maximalem CVSS-10.0-Schweregrad, aktiv laufenden Angriffen und der CISA-KEV-Kennzeichnung macht diesen Vorfall zu einem Notfall. Für alle Unternehmen, die LiteLLM oder Starlette-basierte Dienste betreiben, gilt jetzt: sofort patchen und Zugangsdaten austauschen. Das Zeitfenster zwischen aktiver Ausnutzung und dem Diebstahl von Zugangsdaten ist bereits geöffnet.
Comments
0 comments