安全公司披露,一系列影响人工智能推理引擎的重大远程代码执行漏洞,出现在Meta、NVIDIA与微软等公司使用的推理框架,以及vLLM、SGLang和Modular Max等开源项目中,问题根源被研究团队统称为ShadowMQ。这些框架广泛用于支撑云端大语言模型服务与企业内部AI平台,若未及时更新修复,攻击者可能在推理集群上执行任意代码。
ShadowMQ并非单一产品的漏洞,研究人员指出,多个框架在节点间通信时使用ZeroMQ,并通过Python的pickle模块直接从网络Socket反序列化接收到的对象,例如使用recv_pyobj等便捷函数。一旦该Socket暴露在外且缺乏任何验证机制,攻击者仅需连接对应端口,即可发送特制数据,在反序列化过程中触发任意代码执行。
该模式最早出现在Meta的Llama Stack,对应CVE-2024-50050,影响0.0.41之前的版本。Meta现已改用JSON等更安全的序列化方式,修复了该缺陷。但后续分析发现,同样的通信与反序列化写法被复制到NVIDIA的TensorRT-LLM、微软的Sarathi-Serve、Modular Max Server,以及vLLM和SGLang等多个项目中。
研究人员在追踪代码脉络时发现,部分文件几乎是完整复制,甚至在文件头部注明“Adapted from vLLM”,而Modular Max又同时从vLLM和SGLang借鉴逻辑。这表明各团队并非独立犯错,而是直接复用其他项目的代码,同时继承了不安全的实现方式,因此研究团队将其命名为ShadowMQ。
由于这些推理引擎通常位于AI基础设施的核心,负责处理模型权重、提示内容与用户数据。研究人员指出,若攻击者能够访问ZeroMQ通信端点并成功利用漏洞,不仅可在单个推理节点上执行任意代码,还可能在GPU集群中横向移动,窃取模型与敏感数据,甚至如ShadowRay攻击活动般安装加密货币挖矿程序,长期占用计算资源。
Meta已将Llama Stack更新至0.0.41及以上版本,移除了不安全的pickle使用;vLLM通过将新版V1引擎设为默认,降低了旧通信路径被滥用的风险;NVIDIA在TensorRT-LLM 0.18.2版本中修复了CVE-2025-23254,强化了IPC中Python执行组件的验证流程;Modular Max Server也针对CVE-2025-60455发布了修复补丁。
然而,研究人员指出,微软的研究框架Sarathi-Serve目前仍未修复,SGLang则仅部分修复。
即使升级到安全版本,若ZeroMQ通信端口仍暴露在互联网上,或在内部网络中缺乏适当的访问控制,风险依然存在。研究人员建议,除及时应用各厂商的最新补丁外,还应检查是否仍在使用pickle处理不可信输入,尽量改用JSON或其他安全格式;同时为ZeroMQ通信添加认证与加密,避免使用tcp://*这类绑定所有网络接口的配置,并仅允许必要系统进行连接。