vLLM反序列化漏洞:导致DoS及潜在RCE · CVE-2025-62164
漏洞详情
包管理器: pip 受影响包: vllm (pip) 受影响版本: >= 0.10.2, < 0.11.1 已修复版本: 0.11.1
描述
概述
vLLM 0.10.2及更高版本的Completions API端点中存在一个内存损坏漏洞,可导致服务崩溃(拒绝服务)并可能引发远程代码执行。当处理用户提供的提示嵌入向量时,端点使用 torch.load() 加载序列化的张量,但未进行充分验证。
由于PyTorch 2.8.0引入的变更,稀疏张量完整性检查默认处于关闭状态。因此,恶意构造的张量可以绕过内部边界检查,并在调用 to_dense() 时触发越界内存写入。此内存损坏可导致vLLM崩溃,并可能在运行vLLM的服务器上导致代码执行。
详情
vllm的Completions API端点存在一个可导致RCE的漏洞。由于在加载用户提供的张量时缺少检查,可能触发越界写入。这是因为自PyTorch 2.8.0起,torch.load(tensor, weights_only=True) 的默认行为是不对稀疏张量执行有效性检查,而需要通过显式使用 torch.sparse.check_sparse_tensor_invariants 上下文管理器来启用。
漏洞位于 vllm/entrypoints/renderer.py:148 的以下代码中:
|
|
由于缺少检查,加载用户提供的无效提示嵌入张量可能导致在调用 to_dense 时发生越界写入。
影响 所有有权访问此API的用户都可能利用此漏洞。对不可信输入的不安全反序列化可能被滥用以实现对vLLM服务器进程的DoS攻击及潜在的远程代码执行。这影响了所有将vLLM作为服务器运行或任何对不可信/模型提供的负载进行反序列化的实例。
修复 vllm-project/vllm#27204
致谢 发现者:AXION安全研究团队(Omri Fainaro, Bary Levy):发现与协调披露。
参考
- GHSA-mrw7-hf4f-83pf
- vllm-project/vllm#27204
- vllm-project/vllm@58fab50
- https://nvd.nist.gov/vuln/detail/CVE-2025-62164
严重性
严重等级: 高 CVSS总分: 8.8 / 10
CVSS v3 基本指标
- 攻击向量(AV): Network (N)
- 攻击复杂度(AC): Low (L)
- 所需权限(PR): Low (L)
- 用户交互(UI): None (N)
- 影响范围(S): Unchanged (U)
- 机密性影响(C): High (H)
- 完整性影响(I): High (H)
- 可用性影响(A): High (H)
- 向量字符串: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS评分: 0.23%(第46百分位数)
弱点(CWE)
- CWE-20: 输入验证不当 - 产品接收输入或数据,但未验证或错误地验证该输入具有安全正确处理数据所需的属性。
- CWE-123: “写任意值到任意位置”条件 - 攻击者能够将任意值写入任意位置的情况,通常是缓冲区溢出的结果。
- CWE-502: 不可信数据的反序列化 - 产品反序列化不可信数据时,未充分验证结果数据的有效性。
- CWE-787: 越界写入 - 产品将数据写入预期缓冲区的末端之后或起始之前。
CVE ID: CVE-2025-62164 GHSA ID: GHSA-mrw7-hf4f-83pf
源代码仓库: vllm-project/vllm
致谢人员
- 发现者: omriaxion
- 协调者: russellb
- 修复开发者: DarkLight1337
- 修复审查者: Isotr0py
- 修复审查者: ywang96