BadHost CVE-2026-48710: MCP Schwachstelle in Starlette und FastAPI
News

BadHost CVE-2026-48710: MCP Schwachstelle in Starlette

BadHost CVE-2026-48710 kurz erklärt: Starlette Host-Header-Bug, MCP Schwachstelle, Exploit-Beispiel, Betroffene und Sofortmaßnahmen.

Mika Schmidt, IT Security Experte

Mika Schmidt

IT Security Experte

BadHost CVE-2026-48710 ist eine Schwachstelle in Starlette, dem ASGI-Framework hinter vielen FastAPI-Apps. Vor Starlette 1.0.1 konnte ein ungültiger HTTP-Host-Header die intern rekonstruierte URL verfälschen. Wenn Security-Code danach request.url.path prüft, kann er einen harmlosen Pfad sehen, obwohl Starlette den Request an einen geschützten Endpoint routet.

Ist BadHost eine MCP Schwachstelle?

BadHost ist keine Schwachstelle im MCP-Protokoll selbst. Der Begriff MCP Schwachstelle ist trotzdem praktisch relevant, weil viele MCP-Server, AI-Agent-Gateways, LLM-Proxies und OpenAI-kompatible APIs auf FastAPI oder Starlette laufen. FastAPI hängt von Starlette ab; riskant sind vor allem eigene BaseHTTPMiddleware- oder ASGI-Middlewares, die Zugriff auf /mcp, /sse, /messages oder /v1/* über Pfadstrings absichern.

Kurzes Exploit-Beispiel

Das folgende Beispiel zeigt nur das Prinzip für autorisierte Tests. Der Request geht real an /admin, die fehlerhafte URL-Rekonstruktion kann aber /health als request.url.path erscheinen lassen:

http
GET /admin HTTP/1.1
Host: app.example/health?x=
Authorization: none
Prinzipbeispiel für den Host-Header-Effekt bei CVE-2026-48710.

Verwundbare Middleware kann dadurch eine Allowlist wie ["/health"] passieren lassen, während der Router weiterhin den geschützten Endpoint /admin ausführt. Genau diese Inkonsistenz beschreibt X41 als Kern von CVE-2026-48710.

Wer ist betroffen?

  • Starlette-Anwendungen mit Versionen vor 1.0.1.
  • FastAPI-Anwendungen, wenn die installierte Starlette-Version verwundbar ist.
  • Apps mit Auth-, Rate-Limit-, Audit- oder Routing-Logik auf request.url.path.
  • Direkt erreichbare Uvicorn-, Hypercorn-, Daphne- oder Granian-Deployments ohne validierenden Reverse Proxy.
  • AI-, LLM- und MCP-Infrastruktur wie MCP-Server, vLLM, LiteLLM, Agent-Frameworks und interne Gateways, sofern sie diese Muster nutzt.

Nicht jede FastAPI- oder Starlette-App ist automatisch ausnutzbar. Entscheidend ist die Kombination aus verwundbarer Starlette-Version, manipulierbarem Host-Header und Security-Entscheidungen auf Basis der rekonstruierten URL.

Welche Maßnahmen jetzt nötig sind

Sofortmaßnahmen

  1. 1

    Starlette aktualisieren

    Auf Starlette 1.0.1 oder neuer aktualisieren und Container, Lockfiles, virtuelle Umgebungen sowie vendored Dependencies neu bauen.

  2. 2

    Middleware prüfen

    Nach request.url.path suchen, besonders in Auth-Middleware, Allow-/Deny-Listen, Rate-Limits und MCP-/API-Gateways.

  3. 3

    Robusten Pfad verwenden

    request.scope["path"] statt request.url.path für pfadbasierte Entscheidungen verwenden, wenn Middleware unvermeidbar ist.

  4. 4

    Auth endpoint-nah binden

    FastAPI Depends() oder Security() nutzen, statt globale Pfadstring-Checks in Middleware zu bauen.

  5. 5

    Reverse Proxy validieren

    nginx, Caddy, Traefik, HAProxy oder Load Balancer müssen ungültige Host-Header blockieren; X-Forwarded-Host darf nicht blind vertraut werden.

FAQ zu BadHost CVE-2026-48710

FAQ zu BadHost CVE-2026-48710

Was ist BadHost CVE-2026-48710?
BadHost CVE-2026-48710 ist eine Starlette-Schwachstelle, bei der ein manipulierter Host-Header request.url.path verfälschen und pfadbasierte Sicherheitschecks umgehen kann.
Warum ist BadHost eine MCP Schwachstelle?
BadHost ist keine MCP-Protokolllücke, betrifft aber MCP-Server und AI-Gateways, wenn sie auf verwundbarem Starlette oder FastAPI laufen und Auth-Middleware auf request.url.path nutzt.
Welche Version behebt CVE-2026-48710?
Starlette 1.0.1 behebt CVE-2026-48710. Betroffene Deployments sollten auf 1.0.1 oder neuer aktualisiert und neu gebaut werden.

Themen

BadHostCVE-2026-48710MCP SchwachstelleStarletteFastAPIAI Agent SecurityAuthentication Bypass

Quellen

  1. Advisory: Missing Host header validation poisons request.url.pathGitHub Security Advisory, veröffentlicht am 21.05.2026
  2. NVD: CVE-2026-48710 DetailNational Vulnerability Database, zuletzt geändert am 02.06.2026
  3. Research: Advisory X41-2026-002X41 D-Sec, 2026
  4. Disclosure: Disclosing the BADHOST Vulnerability in StarletteOSTIF, 2026
  5. Tooling: BadHost CVE-2026-48710 ScannerBadHost Scanner, Nemesis Security Automation
  6. Docs: FastAPIFastAPI Dokumentation, abgerufen am 03.06.2026