CVE-2025-14928CVE-2025-14928是Hugging Face Transformers库中的一个高危代码注入漏洞。该漏洞存在于HuBERT模型的convert_config函数中,由于缺乏对用户提供的字符串进行适当的验证和清理,攻击者可以通过构造恶意的checkpoint文件,在目标用户转换模型配置时注入并执行任意Python代码。成功利用此漏洞的攻击者可以在当前用户的上下文中执行任意代码,可能导致数据泄露、系统被完全控制等严重后果。由于该漏洞需要用户交互才能触发(目标用户必须转换恶意的checkpoint),因此攻击复杂度相对较高,但一旦成功利用,后果极为严重。该漏洞由Zero Day Initiative(ZDI)发现并披露,编号为ZDI-CAN-28253。
该漏洞的根本原因在于Hugging Face Transformers库的HuBERT模型转换功能中,convert_config函数直接使用用户提供的字符串来执行Python代码,而没有进行充分的安全验证。具体来说,当用户尝试转换一个HuBERT模型的checkpoint时,convert_config函数会解析checkpoint中的配置参数。如果攻击者精心构造一个包含恶意代码的配置参数(例如在配置中使用eval()或exec()等危险函数),该代码将在目标系统上执行。攻击者需要诱使目标用户打开或转换一个特制的checkpoint文件。由于Hugging Face的模型共享机制,用户经常需要下载和转换来自第三方来源的模型,这为攻击提供了机会。攻击成功后,代码将在运行transformers库的用户权限下执行,可能导致敏感数据访问、横向移动或进一步的攻击。