LMCache 0.3.9至0.5.6曝CVSS 9.8无补丁RCE漏洞 vLLM集群面临零认证入侵

2026年10月7日,JFrog安全研究团队披露LMCache 0.3.9至0.5.6版本存在CVSS 9.8严重RCE漏洞。该漏洞位于多进程模式下的ZeroMQ ROUTER socket,默认无加密无认证,攻击者可通过单条消息触发pickle反序列化,以root权限执行任意代码。官方容器镜像及Kubern

2026年10月7日,JFrog安全研究团队披露CVE-2026-105192,LMCache 0.3.9至0.5.6版本存在CVSS 9.8的未认证远程代码执行漏洞。

事实还原

根据JFrog发布的漏洞细节,LMCache在多进程模式下会默认在5555端口开放ZeroMQ ROUTER socket,且未启用任何CURVE、ZAP、密码或消息认证机制。该socket原本仅供同类LMCache进程通信,但当操作者通过--host参数绑定可路由地址时,端口即可被外部访问。官方容器镜像以root用户运行进程,因此一旦被利用,攻击者可获得最高权限。

漏洞成因在于消息处理路径:msgpack解码时注册了扩展代码1,对应DeviceIPCWrapper.Deserialize方法,该方法直接调用pickle.loads。解码发生在REGISTER_KV_CACHE参数处理阶段,攻击者只需发送一条构造的DEALER消息即可触发反序列化执行。受影响版本包括PyPI最新发布版0.5.5、0.5.6候选版直至rc3,以及2026年10月7日的开发分支,尚无修复版本。

机制拆解

多进程模式是LMCache实现跨节点KV缓存共享的默认方式。http_server启动时若指定--host 0.0.0.0,ZMQ socket便监听所有接口。消息格式为msgpack,扩展类型1直接映射到pickle反序列化逻辑,且该逻辑在参数校验前执行,导致单条消息即可完成利用。PoC演示中,攻击者构造EvilPayload对象,通过os.system写入文件,服务器随后仅记录类型错误,已无法阻止代码执行。

单主机默认绑定localhost时,外部不可达;但多节点生产部署必须开放可路由地址,此时漏洞直接暴露。官方Kubernetes指南推荐的配置正属于此类高风险场景。

产业影响

LMCache作为vLLM生产推理层的通用加速组件,其漏洞直接影响采用多进程模式的推理集群。任何依赖该组件进行KV缓存共享的部署,只要端口可被外部或不受信任网络访问,即面临远程代码执行风险。官方容器以root运行,进一步放大了潜在损害。

目前公开PoC已发布,攻击门槛较低。vLLM用户若未修改默认配置或未限制网络访问,生产环境可能被入侵。短期内,限制端口仅监听localhost或受信任集群网络、配合防火墙策略,是唯一可立即实施的缓解措施。

战略判断

(以下为分析而非事实)从历史类似pickle反序列化漏洞案例看,AI基础设施组件若默认信任内部通信而忽略认证,极易在规模化部署后成为攻击面。LMCache的漏洞暴露了推理加速层与安全边界之间的脱节,未来类似组件在设计时需优先考虑零信任模型,否则多节点扩展将持续伴随高风险。企业应尽快评估自身部署是否使用了受影响版本,并监控上游修复进展。