编译:代码卫士
网络安全研究员发现多个影响主流AI推理引擎的严重远程代码执行漏洞,波及 Meta、英伟达、微软等公司和PyTorch 开源项目如vLLM和SGLang 等。
上周四,Oligo 安全公司的研究员 Avi Lumelsky 在一份报告中提到,“这些漏洞的根因一致:长期忽视对ZeroMQ (ZMQ) 和 Python pickle 反序列化的不安全使用。”其核心在于名为 “ShadowMQ” 的模式,代码复用导致不安全的反序列化逻辑被传播到多个项目。
该漏洞的根因在于 Meta 公司的 Llama大语言模型框架中存在一个漏洞CVE-2024-50050(CVSS 6.3/9.3),涉及使用了 ZeroMQ 的recv_pyobj() 方法通过Python 的 pickle 模块对传入数据执行反序列化操作。Meta 公司在去年10月修复了该漏洞。结合该漏洞和该框架在网络暴露 ZeroMQ 套接字的事实,攻击者能够通过发送恶意数据进行反序列化的方式,执行任意代码。不过该问题也已经在Python 库 pyzmq 中修复。
研究员 Lumelsky之后在其它推理框架,如英伟达的 TensorRT-LLM、微软的 Sarathi-Serve、Modular Max Server、vLLM 和 SGLang 中也发现了同样的模式。他提到,“所有框架中都包括几乎完全相同的不安全模式:pickle 在未认证ZMQ TCP 套接字上的反序列化;不同维护人员和由不同公司维护的项目都犯了同样的错误。”
在溯源过程中,Lumelsky 发现至少在一些案例中,是因为直接复制粘贴代码造成的。例如 SGLang 中易受攻击的文件适配自 vLLM,而Modular Max Server 从 vLLM 和SGLang 中借鉴了同样的逻辑,从而导致同样的漏洞在各个代码库中传播。
这些问题获得的CVE编号如下:
CVE-2025-30165(CVSS 8.0)-VLLM(虽然该漏洞尚未修复,但默认启用V1引擎进行缓解)
CVE-2025-23254(CVSS 8.8)-英伟达 TensorRT-LLM(在0.18.2版本中修复)
CVE-2025-60445(CVSS评分未知)-Modular Max Server(已修复)
Sarathi-Serve(仍未修复)
SGLang(执行了不完整的修复方案)
由于推理引擎是AI基础设施的一个重要组件,因此成功攻陷一个节点就可导致攻击者在集群中执行任意代码、提升权限、盗取模型、甚至释放恶意payload如密币挖矿机等攫取经济利益。Lumelsky 表示,“项目的开发速度惊人,同行借鉴架构组件的做法很常见。但当代码复用中包括不安全的模式时,后果就会快速外溢。”
不久前,AI安全平台 Knostic 发布新报告称,可通过 JavaScript 注入技术攻陷 Cursor 的新内置浏览器,更不用说利用恶意扩展优化JavaScript 注入,控制开发者工作站。
攻击手段
第一次攻击涉及注册一个恶意的本地模型上下文协议 (MCP) 服务器,绕过 Cursor 的控制,通过恶意页面替换浏览器中的登录页面,收割凭据并提取至受控的远程服务器。安全研究员 Dor Munis 表示,“用户一旦下载MCP服务器并运行,通过使用 Cursor 中的一个 mcp.json 文件就能将代码注入 Cursor 浏览器中,从而导致用户登录虚假的登录页面,导致凭据被盗并发送到远程服务器。”鉴于该基于AI的源代码编辑器实际是 Visual Studio Code 的一个分叉,因此恶意人员可构造一个恶意扩展,将 JavaScript 注入运行的IDE,执行任意操作,包括将无害的 OpenVSX 扩展标记为“恶意”。
研究人员表示,“在 Node.js 解释器中运行的 JavaScirpt,无论是否由扩展、MCP服务器还是投毒的提示或规则引入,都立刻继承了 IDE 的权限:完整的文件系统访问权限、修改或取代 IDE 功能(包括安装扩展)的能力以及使重启后仍然保持代码具有持久性的能力。一旦获得解释器级别的执行权限,攻击者就能将IDE转变为一个恶意软件传播和窃取平台。”
为缓解这些风险,用户可禁用IDE中的自动运行特性、严格审查扩展来源、从可信开发人员和仓库来源安装MCP服务器、检查服务器访问的数据和API类型、使用最小权限的API密钥并对关键集成的 MCP服务器源代码进行安全审计。
原文链接
https://thehackernews.com/2025/11/researchers-find-serious-ai-bugs.html
声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。