事件经过
CVE-2026-48710(称为"BadHost")是 Starlette 中的主机头验证漏洞(支撑 LiteLLM、vLLM、FastAPI 和许多 AI 网络服务的 ASGI 框架)。通过注入格式不正确的 Host 头值,攻击者可以导致 Starlette 的基于路径的身份验证中间件将有效路径计算为公共根路由,同时路由到管理员端点,从而绕过身份验证。Horizon3.ai 演示了针对 LiteLLM 的完整未经身份验证的 RCE 链(与 CVE-2026-42271 结合)。CSO Online 报道了该漏洞对基于 FastAPI 的 AI 工具(包括 vLLM)的影响。
影响分析
vLLM 是企业和云 AI 部署中使用的主流开源 LLM 推理服务器。对任何 Starlette 应用程序有效的基于路径的身份验证绕过意味着跨广泛部署的 AI 推理端点、模型管理 API 和管理员接口可能可以在没有身份验证的情况下访问。与命令注入或反序列化漏洞结合,这在模型服务基础设施上产生未经身份验证的 RCE。
攻击途径
攻击者在 HTTP Host 头中追加特殊字符(? 或 #)。Starlette 的路径计算将请求视为针对"/"(公共路由),而路由器仍然分配到实际请求的端点。基于路径的身份验证中间件检查计算的(公共)路径并授予访问权限。与 LiteLLM 中的 CVE-2026-42271 结合,产生未经身份验证的 RCE。独立允许在受影响的 ASGI 应用中未经身份验证访问任何受限端点。
受影响系统
Starlette 0.8.3 – 1.0.0;影响 LiteLLM、vLLM、基于 FastAPI 的 AI 推理服务器和任何使用基于路径身份验证中间件的 ASGI 应用
缓解措施
升级 Starlette 至 ≥1.0.1。审计所有基于 FastAPI/Starlette 的 AI 服务的基于路径的身份验证模式,并考虑切换到基于装饰器的每路由身份验证。