IPBUF安全漏洞报告
English
CVE-2025-14920 CVSS 7.8 高危

CVE-2025-14920: Hugging Face Transformers Perceiver Model 反序列化远程代码执行漏洞

披露日期: 2025-12-23

漏洞信息

漏洞编号
CVE-2025-14920
漏洞类型
远程代码执行 / 反序列化漏洞
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Hugging Face Transformers (Perceiver Model)

相关标签

CVE-2025-14920Hugging Face TransformersPerceiver Model反序列化漏洞远程代码执行ZDI-CAN-25423机器学习安全模型安全高危漏洞

漏洞概述

CVE-2025-14920是Hugging Face Transformers库中的一个高危安全漏洞,CVSS评分7.8。该漏洞存在于Transformers库的Perceiver Model模型解析功能中,由于缺乏对用户提供的模型文件数据进行适当的验证,导致反序列化不受信任的数据时可能触发远程代码执行。攻击者可以通过构造恶意的模型文件,当受害者加载该文件时,可以在当前用户权限上下文中执行任意代码。此漏洞需要用户交互才能利用,例如访问恶意页面或打开恶意文件。ZDI编号为ZDI-CAN-25423,由Trend Micro Zero Day Initiative披露。该漏洞影响Transformers库处理模型文件的安全性,攻击者可能利用此漏洞完全控制受影响的系统。

技术细节

该漏洞的根本原因在于Hugging Face Transformers库在解析模型文件时,缺少对用户输入数据的充分验证。具体来说,Perceiver Model在加载模型时直接进行反序列化操作,而没有对模型文件内容的合法性进行检查。攻击者可以构造一个包含恶意序列化对象的模型文件,当应用程序调用transformers库加载该模型时,反序列化过程会执行攻击者嵌入的恶意代码。由于Python的pickle等序列化模块可以执行任意代码,攻击者可以在模型文件中嵌入恶意对象,在反序列化时触发代码执行。攻击成功后的代码执行权限与加载模型的当前用户相同,通常是应用服务器运行账户的权限。防御此类漏洞的关键是在反序列化前对数据进行完整性校验和来源验证。

攻击链分析

STEP 1
步骤1
攻击者创建恶意模型文件:构造包含序列化恶意对象的模型文件,嵌入可执行任意代码的payload
STEP 2
步骤2
攻击者诱导受害者:诱使目标用户访问恶意页面或打开包含恶意模型文件的文档/项目
STEP 3
步骤3
受害者加载模型:受害者的应用程序调用Hugging Face Transformers库加载恶意模型文件
STEP 4
步骤4
触发反序列化:Transformers库的Perceiver Model解析模型时执行pickle反序列化
STEP 5
步骤5
代码执行:恶意对象的__reduce__方法被调用,攻击者代码在受害者上下文中执行
STEP 6
步骤6
获得控制权:攻击者可在受害者系统上执行任意操作,如窃取数据、安装后门等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import pickle import os # 恶意代码执行演示 class MaliciousPayload: def __reduce__(self): # 反弹shell或执行任意命令 cmd = "whoami > /tmp/pwned.txt" return (os.system, (cmd,)) # 生成恶意模型文件 malicious_data = pickle.dumps(MaliciousPayload()) # 保存为模型文件格式(实际攻击中需适配目标格式) with open('malicious_model.bin', 'wb') as f: f.write(malicious_data) print("Malicious model file created: malicious_model.bin") print("When loaded by transformers, will execute: whoami > /tmp/pwned.txt")

影响范围

Hugging Face Transformers Perceiver Model < 修复版本
具体版本需参考官方安全公告

防御指南

临时缓解措施
在官方修复版本发布前,应避免加载来源不明的Hugging Face模型文件,特别是从第三方仓库或不受信任的来源获取的模型。建议使用模型签名验证功能确保模型文件的完整性和来源可信性。对于必须处理外部模型文件的场景,应在隔离的沙箱环境中进行加载,并严格限制应用程序的权限以降低潜在风险。

参考链接

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