事件经过
SamplingParams 接受 stop_token_ids 中的任何整数,并将这些值作为列索引传递给采样器以访问模型的 logits 张量,而未验证它们是否在模型词汇表范围内。词汇表外的 ID 可能触发设备端索引错误并终止引擎(V1),或在 V2 运行器中触发越界 Triton 存储,可能破坏相邻的 logits 或其他 GPU 状态。
影响分析
可通过 OpenAI 聊天/补全、传统生成和批量端点,以单个请求触发,允许远程调用者崩溃共享服务引擎或破坏 GPU 状态(CVSS 6.5)。
攻击途径
提交一个包含词汇表外 stop_token_ids 值的请求,以崩溃引擎或在 GPU 上越界写入。
受影响系统
vLLM >= 0.20.1,< 0.29.0。
缓解措施
升级到 vLLM 0.29.0(PR #54196 在 stop_token_ids 到达采样器前验证每个值是否在模型词汇表内)。