vLLM多模态嵌入输入形状不正确可导致拒绝服务攻击 (CVE-2025-62372) 漏洞深度解析

本文详细分析了CVE-2025-62372漏洞,该漏洞存在于vLLM中,攻击者可通过提供形状不正确的多模态嵌入输入,导致服务引擎崩溃,造成拒绝服务。影响版本为v0.5.5至v0.11.1之前。

漏洞概述

CVE ID: CVE-2025-62372 严重等级: 高危 (CVSS 4.0 评分: 8.3) 影响包: vllm (pip) 受影响版本: >= 0.5.5, < 0.11.1 已修复版本: 0.11.1 漏洞发现时间: 2025年11月20日发布至GitHub Advisory Database

漏洞详情

摘要

用户可以通过传递具有正确维度(ndim)但形状不正确的多模态嵌入输入(例如隐藏维度错误),来使服务于多模态模型的vLLM引擎崩溃。无论模型是否旨在支持此类输入(如“支持的模型”页面所定义),此问题均会发生。该问题自添加对图像嵌入输入的支持(即 #6613,在 v0.5.5 版本中发布)以来一直存在。

详细说明

以图像嵌入为例:

  • 对于支持图像嵌入输入的模型,引擎在将嵌入分散到 inputs_embeds 时会因形状不匹配而崩溃。
  • 对于不支持图像嵌入输入的模型,引擎在 get_input_embeddings 内部验证输入时会因验证失败而崩溃。

发生此问题的原因是,在输入处理器(通过 MultiModalDataParser)中,我们只验证了张量的 ndim,但没有验证完整的形状。

影响

  • 通过使引擎崩溃实现拒绝服务。

缓解措施

  1. 使用API密钥将访问权限限制给受信任的用户。
  2. 为所有非文本模态设置 --limit-mm-per-prompt 为 0,以禁止多模态输入(这包括多模态嵌入输入)。然而,这样一来模型将只接受文本输入,从而失去了使用多模态模型的意义。

解决方案

修复已在 vllm-project/vllm#27204 中实现。

参考链接

漏洞技术指标

CVSS v4.0 基本指标: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H

  • 攻击向量 (AV): 网络 (N)
  • 攻击复杂性 (AC): 低 (L)
  • 所需权限 (PR): 低 (L)
  • 用户交互 (UI): 无 (N)
  • 受影响系统机密性影响 (VC): 无 (N)
  • 受影响系统完整性影响 (VI): 无 (N)
  • 受影响系统可用性影响 (VA): 高 (H)
  • 后续系统可用性影响 (SA): 高 (H)

EPSS 分数: 0.042% (第12百分位数)

相关弱点 (CWE): CWE-129 - 数组索引验证不当

致谢

  • 报告者: DarkLight1337
  • 修复审核者: ywang96, Isotr0py
  • 协调员: russellb
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计