一个请求,一次崩溃:可触发的断言击垮 vLLM 服务器
一个针对 vLLM 中多模态模型的嵌入向量请求会触发内部断言,致命地使整个推理服务器崩溃——一个已于 2026 年 7 月修复的经认证拒绝服务漏洞。
这是什么?
2026 年 7 月 6 日,vLLM 项目发布了一则针对其推理服务器中拒绝服务漏洞的安全公告(7 月 15 日更新)。vLLM 是部署最广泛的开源大语言模型服务引擎之一,因此其中一个由单个请求触发的崩溃具有极大的影响范围。该问题影响 0.12.0 直到(但不包括)0.24.0 的各版本,并已在 0.24.0 中修复。
此漏洞既非代码执行,也非数据泄露:其影响完全集中在可用性上。一个经过认证、构造正确的单一请求即可使整个服务器进程宕掉。美国国家漏洞库(NVD)将其评为中到高等级(CVSS 3.1 基础分 6.5;CVSS 4.0 基础分 7.1),对机密性和完整性无影响,但对可用性影响为高。其弱点类别是可触发的断言(CWE-617):一项本只用于捕获不可能状态的内部一致性检查,却能通过受攻击者影响的输入被触及。
工作原理
vLLM 暴露了一个兼容 OpenAI 的 /v1/completions 端点。除常规文本提示外,它还接受一种嵌入向量输入(prompt-embeds):以预计算的嵌入向量代替 token 标识符提交,供那些构建自有前置编码器或希望绕过分词器的团队使用。
当这样一个嵌入向量请求被路由到使用 M-RoPE(多模态旋转位置编码,视觉—语言模型家族用来对齐文本与图像 token 的位置编码方案)的模型时,崩溃便会出现。嵌入向量路径与 M-RoPE 位置处理的组合会达到一个引擎断言绝不应出现的状态。当断言失败时,它不会被捕获并降级为单个请求的错误:它会向上传播穿过 EngineCore——vLLM 的核心调度与执行循环——并终止整个服务器应用。该实例上所有其他进行中及未来的请求都随之一同死亡。
有三点值得关注。第一,一旦预计算便微不足道:形态一旦已知,无需模糊测试或暴力破解;请求要么匹配脆弱路径,要么不匹配。第二,权限门槛很低:任何被授权调用 completions 端点的客户端都可触发它,在许多内部或多租户部署中,这一群体相当庞大。第三,结果是彻底的而非降级的:进程退出,因此若无监督进程重启,服务将持续不可用,而攻击者只需在每次重启后重复该请求即可。
依照负责任披露原则,本文不复现触发用的载荷。公告、NVD 条目以及修复用的拉取请求,已包含防御者识别自身暴露面并进行修复所需的一切。
为何重要
推理的可用性即生产的可用性。当模型服务器支撑着面向客户的助手、内部副驾或智能体流水线时,一次可靠的一击崩溃便是一种干净的不可用原语——而由于 vLLM 实例常被集中置于负载均衡器之后,能触及一个副本的攻击者往往可以横扫整个集群。
它也凸显了 LLM 基础设施安全中的一种模式:最丰富的攻击面往往是可选的输入模态,而非主线聊天路径。提示嵌入、结构化输出语法、音频上传与多模态加载器,各自都拓宽了不可信调用方能推入引擎的内容,也各自都产生过此类可用性漏洞。为守护内部不变量而写的断言,一旦外部输入能把引擎引导至它们所防范的状态,便沦为远程崩溃触发器。
防御
首要修复毫不含糊:升级到 vLLM 0.24.0 或更高版本。 对于无法立即打补丁者,请叠加以下控制措施,它们同样能抵御 OWASP 无界消耗指南所描述的更广泛的推理拒绝服务家族:
- 限制 prompt-embeds 功能。 如果你的工作负载不直接提交嵌入向量,请在网关处禁用或拒绝
prompt_embeds输入,使脆弱路径永不被触及。 - 对 completions 端点进行认证与限流。 切勿将
/v1/completions暴露于开放互联网。要求凭据,并对每个客户端的请求设上限,使崩溃循环攻击者即便存在触发器也会被节流。 - 在边界处校验不可信输入。 对请求体强制严格模式——拒绝意外字段、超大或畸形的嵌入载荷,以及输入类型与所服务模型不匹配的请求。
- 假定进程会死亡,并快速恢复。 让每个服务器在监督进程下运行(systemd、Kubernetes 存活探针或等价物),分散副本使一次崩溃不致成为整体宕机,并对异常的重启率告警,将其作为遭利用的信号。
- 跟踪你的推理依赖。 为每个环境中的 vLLM 版本维护清单;服务引擎中的单请求崩溃漏洞反复出现,而知道每个版本运行在何处,正是让紧急升级得以迅速的关键。
状态
| 项目 | 参考 | 日期 | 备注 |
|---|---|---|---|
| 公告发布 | GHSA-33cg-gxv8-3p8g / CVE-2026-55514 | 2026-07-06 | 可触发断言(CWE-617);仅影响可用性 |
| 公告更新 | NVD / OSV | 2026-07-15 | 评分与元数据充实 |
| 受影响版本 | vLLM 0.12.0 → <0.24.0 | — | 经 prompt-embeds 路径的 M-RoPE 多模态模型 |
| 修复 | vLLM PR #45252 / 发行版 v0.24.0 | 2026 | 升级是根本性修复 |
| 利用情况 | EPSS ~0.4% | 2026-07 | 截至撰写时未索引到公开利用工具 |
启示古老,却身处新境:断言是一项关于内部状态的承诺,而一旦外部调用方能影响该状态,这项承诺便成了一个远程关机开关。请盘点你的服务引擎,过滤可选的输入路径,并将推理可用性视为它如今已然成为的那种生产依赖。
本文细节取自 vLLM 公告、NVD 记录与修复用拉取请求,均标注为 2026 年 7 月。未复现任何触发载荷;防御者应查阅所链接的公告以评估自身暴露面。
Sources
- → https://nvd.nist.gov/vuln/detail/CVE-2026-55514
- → https://github.com/vllm-project/vllm/security/advisories/GHSA-33cg-gxv8-3p8g
- → https://github.com/vllm-project/vllm/pull/45252
- → https://github.com/vllm-project/vllm/releases/tag/v0.24.0
- → https://genai.owasp.org/llmrisk/llm102025-unbounded-consumption/