### 关键信息 #### 漏洞概述 - **漏洞类型**: 远程代码执行 (RCE) - **受影响版本**: <=0.9.3 - **修复版本**: 0.9.4 - **严重性**: 高 (CVSS v3.1: 8.3/10) #### 漏洞描述 - **原因**: `vhead_file` 在没有适当安全措施的情况下被加载,允许攻击者通过 WebUI 接口传递恶意的 Checkpoint path 参数来执行任意恶意代码。 - **影响**: 攻击是隐蔽的,受害者在不知情的情况下被利用。 #### 影响版本 - LLaMA Factory 版本 <=0.9.3 受此漏洞影响。 #### 细节 1. 在 LLaMA Factory 的 WebUI 中,当用户设置 Checkpoint path 时,会修改传递给训练过程的 `adapter_name_or_path` 参数。 2. `adapter_name_or_path` 参数随后在 `valuehead.py` 文件中用于获取相应的 `value_head.bin` 文件。该文件通过 `torch.load()` 加载,未设置安全参数 `weights_only=True`,导致远程代码执行。 #### PoC - **步骤**: 1. 部署 LLaMA factory。 2. 通过 WebUI 接口进行远程攻击。 3. 正确配置 Model name 和 Model path。 4. 设置 Finetuning 方法为 LoRA 和 Train Stage to Reward Modeling。 5. 输入恶意的 Hugging Face 路径。 6. 点击开始训练。 #### 影响 - 允许远程攻击者执行任意恶意代码或 OS 命令。 - 可能危及敏感数据或提升权限。 - 部署恶意软件或创建持久后门。