I Broke Into 3 AI Apps in 10 Minutes With One Character
One character. A question mark. In the wrong place. Three AI applications. Ten minutes. All bypassed.
No complex payload. No zero-day toolkit. Just a single ? in the Host header.
This is CVE-2026-48710 — BadHost. And it affects FastAPI, vLLM, LiteLLM, Python MCP SDK, and over 400,000 Starlette-based projects.
Your AI infrastructure — LLM gateways, agent frameworks, MCP servers — is almost certainly running on Starlette. And if you’re using middleware for authentication, you’re vulnerable. Let me show you.
Target 1 — FastAPI Admin Panel
A FastAPI app with a protected /admin endpoint. Without auth, you get 403 Forbidden.
Then I added one character to the Host header:
http://foo?/admin. The ? shifts the boundary. Middleware sees an empty path, bypasses auth. Router still sees /admin and executes the endpoint.
Target 2 — vLLM Inference Gateway
vLLM is one of the most popular open-source LLM serving engines. Many deployments protect the /generate endpoint with an API key.
One character changes everything:
Target 3 — MCP Server (Model Context Protocol)
MCP servers give AI agents access to tools: read files, query databases, execute commands. They’re protected by authentication tokens.
Without a token, 403.
But add Host: foo? and the token check disappears:
read_file on ../../../.env → call execute_shell with reverse shell payload. Full compromise in under 3 minutes.
Discovered during a vLLM audit (January 2026). Disclosed May 22, 2026. Public exploit released the same day.
Affects Starlette 0.8.3 through 1.0.0 → FastAPI, vLLM, LiteLLM, Python MCP SDK, Google ADK-Python, Ray Serve, BentoML, and 400,000+ other projects.
Fix:
pip install "starlette>=1.0.1" AND replace request.url.path with request.scope["path"] in custom middleware.
• FastAPI admin panels → bypass → full database access
• vLLM gateways → bypass → model theft, API key leaks
• MCP servers → bypass → file read, command execution
• Internal AI dashboards → bypass → exposed to the internet
Internet-wide scanning has already started. Patch now or assume compromise.
How to Fix It — Two Minutes, Two Lines
Note: If you use FastAPI’s built-in Depends() for auth, you’re safe. The vulnerability only affects custom BaseHTTPMiddleware.
Three AI apps. Ten minutes. One character.
Your AI stack probably has this hole. Not because your team is stupid — because nobody told them that a single
? in the Host header could bypass everything.Attackers know. Now you do too. Patch now.
Your AI stack probably has this hole. Let me prove it.
Full AI Agent Pentest: €3,000. MCP & Gateway Security Audit: included. AI Red Team: €5,000.
📩 DM @StackOfTruths on XFree 15-min consultation. No hard sell. Just honest answers about your real exposure.












Leave a Reply