【复现】vLLM远程代码执行漏洞(CVE-2025-62164)

发布时间 2025-11-27

vLLM是一个大型语言模型(LLM)的推理和服务引擎。vLLM的Completions API端点存在内存损坏漏洞(CVE-2025-62164),可能导致崩溃(拒绝服务)和潜在的远程代码执行(RCE)。当处理用户提供的提示嵌入时,该端点使用torch.load()加载序列化张量,但缺乏足够的验证。由于PyTorch 2.8.0引入的更改,稀疏张量完整性检查默认被禁用。因此,恶意制作的张量可以绕过内部边界检查,并在调用to_dense()时触发越界内存写入。这种内存损坏可能导致vLLM崩溃,并可能使托管vLLM的服务器执行代码。目前,该问题已在0.11.1版本中修复。


影响版本


vLLM 0.10.2 - 0.11.0


漏洞原理


图片1.png


vLLM Completions API的函数对传入的prompt_embeds参数未做合法性验证,直接使用torch.load()反序列化用户提供的prompt_embeds参数。当vLLM对恶意稀疏张量调用.to_dense()时,PyTorch会解引用攻击者控制的索引数组,如果索引超出边界,操作会在分配的缓冲区外写入数据。该漏洞源于vLLM对用户输入的序列化PyTorch张量输入缺乏充分验证,结合PyTorch 2.8.0默认关闭稀疏张量完整性检查的特性。


漏洞危害


(1)直接影响‌

    • 服务拒绝‌:单个畸形API请求即可导致生产环境的vLLM推理服务器崩溃。‌
    • 远程代码执行:在特定条件下,如果攻击者能够控制被覆盖的内存,可能实现远程代码执行。
    • 系统控制:攻击者可能获得主机系统的控制权。


(2)攻击条件‌

    • 仅需要网络访问Completions API端点。

    • 默认情况下该端点不需要身份验证。

    • 攻击复杂度低,无需特殊权限。


漏洞复现


验证环境:

Pytorch 2.8.0

vLLM 0.11.0

Ubuntu 22.04


图片2.png


修复方案


(1)立即措施

    • ‌版本升级‌:将vLLM升级到0.11.1或更高版本。
    • API访问控制‌:对Completions API端点实施身份验证和访问限制。
    • 网络隔离‌:将vLLM服务部署在内网环境,限制外部访问。

(2)技术修复‌

    • ‌输入验证‌:在处理用户提供的序列化张量前,实施严格的结构和索引验证。
    • ‌完整性检查启用‌:强制启用稀疏张量完整性检查torch.sparse.check_sparse_tensor_invariants.enabled = True 。
    • 安全反序列化‌:使用安全的张量加载方式,或完全禁用序列化张量输入功能。

(3)长期防护‌

    • 实施最小权限原则运行服务。
    • 定期安全审计和渗透测试。
    • 建立完善的漏洞监控和应急响应机制。


该漏洞凸显了AI基础设施安全的重要性,特别是在处理用户可控的复杂数据结构时需要格外谨慎。



参考链接:

[1]https://nvd.nist.gov/vuln/detail/CVE-2025-62164

[2]https://zeropath.com/blog/cve-2025-62164-vllm-memory-corruption-summary

[3]https://github.com/vllm-project/vllm/security/advisories/GHSA-mrw7-hf4f-83pf

[4]https://github.com/vllm-project/vllm/commit/58fab50d82838d5014f4a14d991fdb9352c9c84b


启明星辰积极防御实验室(ADLab)


ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞6500余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、数据安全研究、5G安全研究、AI+安全研究、卫星安全研究、运营商基础设施安全研究、移动安全研究、物联网安全研究、车联网安全研究、工控安全研究、信创安全研究、云安全研究、无线安全研究、高级威胁研究、攻防对抗技术研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。



adlab.jpg