vLLM严重漏洞威胁AI系统安全
新发现的vLLM内存损坏漏洞可能让攻击者通过向Completions API发送恶意提示嵌入来崩溃服务器或执行任意代码。
该漏洞影响vLLM 0.10.2及更高版本,使生产环境AI部署面临直接风险。
Wiz安全研究人员表示:“该漏洞允许任何能够访问API的用户可能实现拒绝服务和vLLM服务器进程中的远程代码执行。”
理解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()时,框架尝试将畸形张量完全物化到密集内存中,导致越界写入并可能造成内存损坏。
攻击者能利用此vLLM漏洞做什么
根据恶意有效负载的制作方式,越界写入可能导致几种严重后果:
如果关键执行内存被损坏,可能崩溃服务器并导致拒绝服务(DoS)状况。
在更高级的情况下,攻击者可以通过覆盖影响控制流的内存区域来实现任意代码执行。
这也为在AI堆栈内横向入侵打开了大门,因为vLLM通常与敏感组件(如GPU、模型权重、日志或专有数据)一起运行。
由于易受攻击的反序列化路径通过面向公众的Completions API暴露,攻击者不需要提升权限或事先访问——他们只需要能够向服务器发送嵌入有效负载。
深入反序列化漏洞
此利用链是不安全反序列化的案例,其中不受信任的输入被直接重建为内存中的对象。在vLLM的情况下,风险被放大,因为:
- 张量反序列化复杂且内存密集
- 嵌入有效负载不经过任何验证层
- 底层库(PyTorch)静默允许畸形数据
简而言之,系统获取攻击者控制的字节,将其重建为稀疏张量,然后告诉PyTorch将该张量扩展为密集内存——所有这些都没有确认张量遵循所需的不变量。
缓解vLLM漏洞的关键步骤
鉴于vLLM反序列化漏洞的严重性,安全团队必须采用分层缓解策略来降低服务器入侵风险:
-
更新到修补的vLLM版本并应用PyTorch的稀疏张量完整性检查,以防止不安全反序列化
-
限制和验证对Completions API的访问,通过移除公共暴露、强制执行强身份验证和使用速率限制
-
通过API网关、WAF或中间件验证和过滤所有提示嵌入,在它们到达vLLM之前阻止畸形或不受信任的张量
-
在强化环境中隔离vLLM,如专用容器或VM,使用最小权限、分段和非特权服务账户
-
启用监控和日志记录以检测利用指标,包括崩溃、畸形嵌入、反序列化失败和异常推理行为
-
加强运行时和基础设施安全,通过应用ASLR、DEP/NX、网络分段、访问控制以及定期安全测试(如模糊测试和依赖项审计)
分层防御、持续监控和安全设计原则有助于确保未来威胁被更早检测并更有效地遏制。
AI基础设施正成为主要目标
此漏洞突显了AI安全中一个日益增长的主题:攻击面不仅包括模型——还包括围绕它的胶水代码、推理引擎、序列化库和数据管道。
随着组织采用更多LLM支持的功能,支持框架(如vLLM、PyTorch和模型服务API)中的弱点变得越来越有吸引力。
该事件还强调了上游的细微变化——在这种情况下,PyTorch禁用完整性检查——如何创建在整个AI生态系统中产生涟漪的安全漏洞。
随着AI基础设施变得更加模块化和互联,如果组织未能应用补丁并强制执行严格的输入验证,即使是轻微的反序列化缺陷也可能升级为完全入侵。