事件经过
在 vLLM 0.3.0 至 0.22.0 中,AuthenticationMiddleware 使用 Starlette 的 URL(scope=scope).path 重构请求路径,该路径包含攻击者控制的 Host 头。通过注入精心设计的 Host 头(例如"localhost/v1/models?")可以绕过验证路径是否以 /v1 开头的身份验证检查,从而授予对任何受保护 API 端点的未经身份验证的访问权限。在 0.22.0 中通过直接使用 scope['path'] 修复。CVSS 9.1 严重经 Miggo Security 深度分析确认。
影响分析
vLLM 是部署最广泛的 LLM 推理引擎之一。身份验证绕过允许任何网络可达的攻击者颁发完整请求、列出模型、消耗 GPU 资源并窃取敏感推理数据,无需任何 API 密钥 — 直接破坏了保护托管 LLM 部署的主要访问控制机制。
攻击途径
HTTP 请求带有精心设计的 Host 头(例如 Host: localhost/v1/models?)到任何 vLLM OpenAI 兼容 API 端点;绕过 AuthenticationMiddleware 路径前缀检查
受影响系统
vLLM >= 0.3.0, < 0.22.0
缓解措施
升级到 vLLM 0.22.0 或更高版本。公告:https://github.com/vllm-project/vllm/pull/43426