Starlette BadHost: Host Header Auth Bypass in CISA KEV
Bump starlette to 1.0.1 or later in every Python service this week; it is urgent where an ASGI server faces untrusted clients directly and middleware makes security decisions from request.url.
Must act: Teams running Starlette or FastAPI apps, or Python AI infrastructure built on them (LiteLLM, vLLM, MCP servers), whose middleware checks request.url or request.url.path, especially with uvicorn, hypercorn, granian or daphne exposed without a reverse proxy.
Can relax: Apps that enforce auth per route with FastAPI Depends()/Security() or Starlette requires() and sit behind an RFC-compliant reverse proxy; they should still upgrade on a normal cycle.
- Find every installed Starlette: pip show starlette in each service and image, or search lockfiles for starlette.
- Upgrade to starlette 1.0.1 or later; on FastAPI older than 0.133.0, upgrade FastAPI too, then rebuild and redeploy images.
- Grep middleware for request.url and URL(scope=...) and move security checks to request.scope["path"] or per-route dependencies.