CVE-2025-14921CVE-2025-14921是Hugging Face Transformers库中Transformer-XL模型的一个高危安全漏洞,CVSS评分达到7.8。该漏洞属于反序列化不受信任数据导致的远程代码执行(RCE)漏洞,由趋势科技零日倡议(ZDI)发现,编号为ZDI-CAN-25424。漏洞存在于Transformer-XL模型文件的解析过程中,由于缺乏对用户提供的模型数据进行适当的验证和安全检查,攻击者可以构造恶意的模型文件,当目标用户加载或反序列化这些文件时,可以触发任意代码执行。攻击成功后会以当前用户的权限上下文执行恶意代码。由于该漏洞需要用户交互才能触发利用(用户需要访问恶意页面或打开恶意文件),因此被归类为本地攻击向量(AV:L)。该漏洞影响了Hugging Face Transformers库处理Transformer-XL模型的完整性和安全性。
该漏洞的根本原因在于Transformer-XL模型加载器缺乏对模型文件中序列化数据的有效验证。具体来说,当Transformers库解析和反序列化Transformer-XL模型文件时,没有对用户提供的模型数据进行充分的安全检查。攻击者可以精心构造一个包含恶意序列化payload的模型文件,利用Python的pickle反序列化机制在反序列化过程中执行任意代码。由于Python的pickle模块在反序列化时可以执行任意代码构造器(constructor),攻击者可以在序列化数据中嵌入恶意对象,在反序列化时自动触发代码执行。攻击利用链涉及以下几个关键环节:首先,攻击者需要构造一个包含恶意payload的序列化模型文件;其次,通过社会工程学手段诱使目标用户加载该恶意模型文件;最后,当Transformers库调用pickle.load()或类似函数反序列化模型数据时,嵌入的恶意代码会被执行。由于Python pickle的反序列化机制本质上是图灵完备的,理论上可以执行任意复杂的恶意操作,包括文件读写、网络通信、命令执行等。