漏洞详情
概述
vLLM在模型解析期间加载Hugging Face的auto_map动态模块时,未对trust_remote_code参数进行控制,使得攻击者可通过模型仓库(本地目录或远程Hugging Face仓库)中的恶意Python代码在服务器启动时执行任意代码。
影响
能够影响模型仓库(本地目录或远程Hugging Face仓库)的攻击者,可以在vLLM主机上于模型加载期间实现任意代码执行。此过程发生在任何请求处理之前,且不需要API访问权限。
受影响版本
所有版本中,当vllm/model_executor/models/registry.py通过try_get_class_from_dynamic_module解析auto_map条目而未检查trust_remote_code时,均会受到影响(至少当前的main分支)。
技术细节
在模型解析期间,vLLM无条件地遍历模型配置中的auto_map条目,并调用try_get_class_from_dynamic_module。该函数委托给Transformers的get_class_from_dynamic_module并执行模块代码。即使trust_remote_code设置为false,此过程也会发生,使得恶意模型仓库能够在引用的模块中嵌入代码,并在初始化期间执行。
相关代码:
vllm/model_executor/models/registry.py:856—auto_map解析vllm/transformers_utils/dynamic_module.py:13— 委托给get_class_from_dynamic_module,该函数执行代码
修复
- vllm-project/vllm#32194
致谢
由bugbunny.ai报告。
参考
- GHSA-2pc9-4j83-qjmr
- vllm-project/vllm#32194
- vllm-project/vllm@78d13ea
- github.com/vllm-projec…
- nvd.nist.gov/vuln/detail…
安全信息
严重程度
高 CVSS 总体得分: 8.8/10
CVSS v3 基础指标
- 攻击向量(AV): 网络(N)
- 攻击复杂度(AC): 低(L)
- 所需权限(PR): 无(N)
- 用户交互(UI): 需要(R)
- 范围(S): 未改变(U)
- 机密性(C): 高(H)
- 完整性(I): 高(H)
- 可用性(A): 高(H)
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS 得分
0.046%(第14百分位数)
弱点
- CWE-ID: CWE-94
- 描述: 对代码生成的的不当控制(“代码注入”)
标识符
- CVE ID: CVE-2026-22807
- GHSA ID: GHSA-2pc9-4j83-qjmr
源代码
vllm-project/vllm
相关人员
- 报告者: zaddy6, arthurgervais
- 修复开发者: DarkLight1337
- 协调员: russellb glyoVzOLZA9nMhz/bDHDAWzfRfZ0dSZtQUalpUyOmxcPmrltPTj4nR6lJ1xPSMoyyx2MYZpjNcoCrWHBEbmBKw==