事件经过
vLLM 0.29.0 之前的版本将上传的音频传递给 PyAV/FFmpeg av.open() 回退,仅进行文件大小检查,暴露了 FFmpeg 的 IAMF 解析器堆溢出。经过认证的远程攻击者可以重复上传格式错误的 IAMF 容器,破坏堆并使 API 进程崩溃。这是一个 DoS,而非 RCE——但它影响到所有并发用户共享的中央服务进程。
影响分析
在共享的 vLLM 服务部署中,API 进程承载所有模型请求和会话状态。用几个小上传按需使其崩溃是对生产 LLM 端点的可靠可用性杀伤,并且转录可能默认启用于接受任何经过认证调用者的多模态服务栈。
攻击途径
经过认证的远程攻击者向 /v1/audio/transcriptions POST 格式错误的 IAMF 音频容器;端点仅使用文件大小检查接受上传的音频,FFmpeg IAMF 解析器堆溢出破坏堆并使 API 进程崩溃。
受影响系统
vLLM < 0.29.0(/v1/audio/transcriptions 中的 PyAV/FFmpeg 音频解码回退)
缓解措施
升级到 vLLM 0.29.0(GHSA-m52c-39rh-f3gp)。在修补之前限制哪些用户可以调用转录端点并限制上传速率。