高危vLLM漏洞威胁AI系统,可致远程代码执行

研究人员发现vLLM中存在一个关键内存破坏漏洞(CVE-2025-62164),允许攻击者通过Completions API发送恶意提示嵌入,导致服务器崩溃或远程执行任意代码。本文分析了漏洞的根源、PyTorch的变更、潜在影响及缓解措施。

严重的vLLM漏洞使AI系统面临远程代码执行风险

vLLM中存在一个严重漏洞,允许攻击者通过向Completions API发送恶意提示嵌入,来使AI服务器崩溃或远程执行代码。

漏洞概述

新发现的vLLM内存破坏漏洞可能让攻击者通过向Completions API发送恶意提示嵌入,导致服务器崩溃或执行任意代码。该漏洞影响vLLM 0.10.2及更高版本,使生产环境的AI部署面临直接风险。

“该漏洞允许任何能够访问API的用户,可能对vLLM服务器进程造成拒绝服务和远程代码执行,”Wiz安全研究人员表示。

理解vLLM漏洞的根本原因

该漏洞(CVE-2025-62164)源于vLLM处理用户提供的提示嵌入的方式——该功能本意是让高级应用能将预计算的向量直接传递给模型。当客户端向Completions API发送嵌入时,vLLM尝试通过使用PyTorch的torch.load()函数反序列化Base64编码的负载来重建张量。

问题出现在entrypoints/renderer.py中,vLLM在那里解码Base64编码的嵌入,并使用torch.load()对其进行反序列化。加载张量后,服务器立即使用to_dense()将其转换为密集张量——整个过程未执行任何完整性或安全检查。在这部分代码中,vLLM只是接收用户提供的嵌入,通过torch.load(io.BytesIO(pybase64.b64decode(embed, validate=True)), weights_only=True, map_location=torch.device(“cpu”))加载它,然后执行tensor = tensor.to_dense(),中间没有任何验证。

由于vLLM此时假定张量是有效且安全的,任何恶意构造的负载都可以通过反序列化步骤,并在密集化过程中导致内存破坏,从而引发拒绝服务或潜在的远程代码执行。

PyTorch的变更打开了大门

在PyTorch 2.8.0中,该框架默认禁用了稀疏张量完整性检查,移除了先前用于验证索引边界、张量形状一致性以及在调用to_dense()之前所需的内部不变量的安全防护。现在必须使用torch.sparse.check_sparse_tensor_invariants明确重新启用这些检查,但vLLM未实现此保护。因此,攻击者可以创建一个内部索引指向预期内存范围之外的格式错误的稀疏张量。PyTorch仍会成功加载张量,但当vLLM随后调用to_dense()时,框架会尝试将格式错误的张量完全物化到密集内存中,从而导致越界写入并可能引发内存破坏。

攻击者能利用此漏洞做什么

根据恶意负载的构造方式,越界写入可能导致几种严重后果。如果关键执行内存被破坏,可能导致服务器崩溃并引发拒绝服务(DoS)状况。在更高级的情况下,攻击者可能通过覆盖影响控制流的内存区域来实现任意代码执行。这也为横向危害AI堆栈内的其他组件打开了大门,因为vLLM通常与敏感组件(如GPU、模型权重、日志或专有数据)一起运行。由于易受攻击的反序列化路径通过面向公众的Completions API暴露,攻击者不需要提升的权限或预先的访问权——他们只需要能够向服务器发送嵌入负载。

深入反序列化漏洞

此利用链是一个不安全的反序列化案例,即不受信任的输入被直接重建为内存中的对象。在vLLM的案例中,风险被放大了,因为:

  • 张量反序列化复杂且消耗大量内存。
  • 嵌入负载未经过任何验证层。
  • 底层库(PyTorch)默默地允许格式错误的数据。

简而言之,系统接收攻击者控制的字节,将其重建为稀疏张量,然后指示PyTorch将该张量展开为密集内存——所有这些都没有确认张量是否符合所需的不变量。

缓解vLLM漏洞的关键步骤

鉴于vLLM反序列化漏洞的严重性,安全团队必须采取分层缓解策略以降低服务器被攻破的风险。

  • 更新到已修复的vLLM版本并应用PyTorch的稀疏张量完整性检查,以防止不安全的反序列化。
  • 限制并验证对Completions API的访问,移除公共暴露,强制执行强身份验证,并使用速率限制。
  • 通过API网关、WAF或中间件验证和过滤所有提示嵌入,在它们到达vLLM之前阻止格式错误或不受信任的张量。
  • 将vLLM隔离在强化环境中,例如专用容器或虚拟机,使用最小权限、分段和非特权服务账户。
  • 启用监控和日志记录以检测利用指标,包括崩溃、格式错误的嵌入、反序列化失败和异常的推理行为。
  • 加强运行时和基础设施安全,应用ASLR、DEP/NX、网络分段、访问控制,以及定期的安全测试,如模糊测试和依赖项审计。

分层防御、持续监控和安全设计原则有助于确保未来的威胁能被更早发现并更有效地遏制。

AI基础设施正成为主要目标

此漏洞突显了AI安全中一个日益增长的主题:攻击面不仅包括模型本身,还包括围绕它的粘合代码、推理引擎、序列化库和数据管道。随着组织采用更多由LLM驱动的功能,vLLM、PyTorch和模型服务API等支持框架中的弱点正成为越来越有吸引力的目标。

该事件也强调了上游的细微变更(在本例中是PyTorch禁用完整性检查)如何能产生波及整个AI生态系统的安全缺口。随着AI基础设施变得更加模块化和互连,即使微小的反序列化缺陷也可能升级为完全的系统被攻破,如果组织未能及时应用补丁并执行严格的输入验证。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计