vLLM 多模态镜像缓存失步漏洞:被拒请求可致后续同哈希请求触发引擎断言
vLLM: Mirrored multimodal IPC caches desync after a rejected request — a later request reusing the same media hash trips a receiver assertion in the engine core
AI 导读
vLLM 0.25.1 及更早版本存在多模态镜像缓存失步问题,远程客户端可用被拒请求污染缓存身份,使后续复用同一媒体哈希的请求在引擎核心触发断言。默认多模态缓存 mm_processor_cache_type="lru" 下,前端 P0 只存元数据、引擎核心 P1 存真实载荷,两者依赖 get_and_update() 同步执行以保持淘汰顺序一致。当请求在 P0 完成渲染与哈希后、P1 收到条目之前被拒(例如渲染后因 max_model_len 超限被拒),P0 认为该媒体已缓存而 P1 从未收到;后续同哈希请求在 P0 命中,P0 发送 None,P1 因无缓存触发 assert mm_item is not None。公告建议将 P0 提交与准入检查绑定并在拒绝时回滚,同时把 P1 的断言改为请求级可检查错误;修复提案见 vllm-project/vllm 的 PR 51897。
推荐理由
公告给出了 vLLM 多模态缓存失步的完整触发链与受影响版本,自建推理服务的团队可据此判断是否需要升级或加防护。