CVE-2025-62164CVE-2025-62164是vLLM项目中一个严重的安全漏洞。vLLM是一个用于大型语言模型(LLM)推理和服务的开源引擎。该漏洞影响vLLM 0.10.2到0.11.1之前的所有版本。漏洞位于Completions API端点,当处理用户提供的prompt embeddings时存在内存损坏问题。攻击者可以通过发送恶意构造的序列化tensor来触发此漏洞。由于PyTorch 2.8.0版本更改导致稀疏tensor完整性检查默认被禁用,恶意tensor可以绕过内部边界检查,在调用to_dense()方法时触发越界内存写入。这不仅可能导致vLLM服务崩溃(造成拒绝服务),还可能使攻击者在托管vLLM的服务器上执行任意代码。该漏洞由GitHub安全团队发现并报告,已在vLLM 0.11.1版本中得到修复。鉴于vLLM在AI推理领域的广泛使用,建议所有使用受影响版本的用户立即升级。
该漏洞的根本原因在于vLLM的Completions API端点对用户输入的prompt embeddings处理不当。具体来说,端点使用torch.load()函数加载序列化的tensor对象,但没有对加载的数据进行充分的安全验证。问题在于PyTorch 2.8.0引入了一项变更,默认禁用了稀疏tensor的完整性检查(weights_only参数默认为False但行为改变)。攻击者可以精心构造一个恶意的稀疏tensor,其内部数据经过特殊构造后,在调用to_dense()方法将其转换为密集tensor的过程中,会触发越界内存写入。具体利用过程是:1)攻击者创建包含畸形数据的稀疏tensor;2)通过Completions API的embeddings参数上传该tensor;3)vLLM使用torch.load()反序列化该tensor;4)当代码调用to_dense()进行类型转换时,由于缺少边界检查,tensor的内部指针会指向非法内存区域;5)这导致内存损坏,可能覆盖关键数据结构或函数指针。成功的利用可以导致进程崩溃或实现远程代码执行。