vLLM 结构化输出请求可致 EngineCore 宕机,影响 0.25.1 及更早版本
vLLM: Structured-output request errors escape the request boundary and terminate the shared EngineCore — engine-fatal denial of service (3 sites)
AI 导读
vLLM 披露三个结构化输出请求路径的漏洞,普通 API 请求即可触发未捕获的引擎致命异常,使共享 EngineCore 终止,导致该引擎实例上所有并发与后续租户服务中断。受影响版本为 vLLM ≤ 0.25.1,已在 0.25.1 提交 752a3a504485 上确认。三个触发点分别是:默认 auto 后端被永久锁定后,重复根 EBNF 语法使 xgrammar 编译异常逃逸,而完成检查只捕获 TimeoutError;ngram_gpu 推测解码用 -1 填充草稿 token 行,未裁剪即传入 guidance 的 validate_tokens,原生匹配器因负值抛出 OverflowError;可选 Rust 前端接受 Python 前端会拒绝的空 json/grammar 字符串。影响仅限可用性,不涉及代码执行、内存破坏或数据泄露。
推荐理由
公告给出三个结构化输出路径导致 EngineCore 整体宕机的具体代码位置与修复补丁,部署 vLLM 的团队可据此排查版本与配置。