vLLM多模态嵌入输入形状缺陷导致服务拒绝攻击漏洞详解

本文详细分析了CVE-2025-62372漏洞,该漏洞存在于vLLM 0.5.5至0.11.1版本中,攻击者可通过提交形状不正确的多模态嵌入输入导致服务崩溃,构成拒绝服务攻击风险。

vLLM vulnerable to DoS with incorrect shape of multimodal embedding inputs · CVE-2025-62372

漏洞详情

包管理工具: pip 受影响包: vllm 受影响版本: >= 0.5.5, < 0.11.1 修复版本: 0.11.1 严重等级: 高危 (CVSS v4 评分: 8.3)

描述

概要

用户可以通过传递具有正确维度数但形状不正确的多模态嵌入输入(例如隐藏维度错误),使服务于多模态模型的vLLM引擎崩溃。无论模型是否旨在支持此类输入(如支持模型页面所定义),该问题都会发生。

此问题自我们添加对图像嵌入输入的支持(即#6613,在v0.5.5版本中发布)以来就一直存在。

详细信息

以图像嵌入为例:

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

这是因为我们在输入处理器中(通过MultiModalDataParser)仅验证了张量的维度数,但未验证完整的形状。

影响

  • 通过使引擎崩溃导致拒绝服务。

缓解措施

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

解决方案

修复已在 vllm-project/vllm#27204 中提供。

参考信息

CVSS v4 基础指标

可利用性指标:

  • 攻击向量: 网络
  • 攻击复杂度: 低
  • 攻击要求: 无
  • 所需权限: 低
  • 用户交互: 无

脆弱系统影响指标:

  • 机密性: 无影响
  • 完整性: 无影响
  • 可用性: 高影响

后续系统影响指标:

  • 机密性: 无影响
  • 完整性: 无影响
  • 可用性: 高影响

弱点

CWE-129: 数组索引验证不当 产品在计算或使用数组索引时使用了不可信的输入,但产品未验证或错误地验证了该索引,以确保索引引用了数组内的有效位置。

相关ID

  • CVE ID: CVE-2025-62372
  • GHSA ID: GHSA-pmqf-x6x8-p7qw

致谢

  • 报告者: DarkLight1337
  • 修复审阅者: ywang96, Isotr0py
  • 协调员: russellb

发布时间: 2025年11月20日 最后更新: 2025年11月21日

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计