CVE-2025-66448CVE-2025-66448是vLLM(大型语言模型推理和服务引擎)中的一个严重安全漏洞,CVSS评分7.1,属于高危级别。该漏洞存在于vLLM 0.11.1之前的版本中,攻击者可通过恶意构造的模型配置文件实现远程代码执行。漏洞的核心问题在于vLLM的Nemotron_Nano_VL_Config配置类在处理包含auto_map条目的模型配置时,会调用get_class_from_dynamic_module()函数动态加载并立即实例化远程仓库中的Python代码。更为严重的是,即使调用者在get_config函数中明确设置trust_remote_code=False参数,此漏洞仍可被触发,因为trust_remote_code的安全检查在auto_map解析流程中被绕过。攻击者可以构造一个表面看似正常的前端模型仓库,其config.json通过auto_map字段指向攻击者控制的恶意后端仓库,当受害者加载该模型时,恶意代码会在其主机上静默执行。此漏洞已于vLLM 0.11.1版本中修复。
该漏洞的技术原理涉及vLLM的模型配置加载机制。当vLLM加载模型配置时,如果config.json中存在auto_map字段,系统会调用transformers库的get_class_from_dynamic_module()函数来解析映射关系。问题出在Nemotron_Nano_VL_Config类中,该类在实例化时会自动处理auto_map条目,并立即执行get_class_from_dynamic_module()返回的类构造函数。这个过程发生在trust_remote_code检查之前,导致即使用户明确设置trust_remote_code=False,也无法阻止恶意代码的执行。攻击者利用此漏洞的方式是:创建一个包含恶意auto_map条目的模型配置文件,该条目指向攻击者控制的远程仓库中的Python模块。当受害者使用vLLM加载这个模型时,系统会自动下载并执行远程仓库中的__init__.py或其他Python文件,从而在受害者主机上执行任意代码。这种攻击方式特别危险,因为受害者可能只是尝试加载一个看似正常的开源模型,而不会意识到背后正在执行恶意代码。