CERT/CC 于 9 月 1 日发布漏洞说明 VU#456290,涉及 Hugging Face Transformers 中的 CVE-2026-80047。该说明原文指出,这个库在评估 trust_remote_code 同意提示之前,就会执行远程模块获取和本地缓存写入,违反了其他动态模块加载路径所执行的安全契约。

顺序在哪里被颠倒了

受影响的路径是 load_custom_generate(),它会为模型仓库中的 custom_generate/generate.py 调用 get_cached_module_file()。这个辅助函数会把文件复制到本地的 HF_MODULES_CACHE 中。只有在这之后,才会调用 resolve_trust_remote_code()。其他所有加载路径——AutoConfigAutoModelAutoTokenizer——都会先询问,再触碰磁盘。

常见表述哪里说错了

这起问题会被写成 Transformers 中的远程代码执行,NVD 的摘要也以“远程 Python 文件”开头,给了这种说法空间。但它本身并不是 RCE:即便用户拒绝信任提示,执行仍会被阻止,因为 get_class_in_module() 是在同意调用之后才运行的。用户无法拒绝的是文件进入缓存这一行为;之后一次受信任的加载可能会与之碰撞。其影响是一次不需要的写入,而且会在用户说“不”时所在的会话结束后仍然留存。

版本范围指向了错误方向

这份公告给出的受影响范围是 4.49.0 至 5.8.1,而 GitHub 记录中的漏洞数组是 空的,因此没有列出已修复版本。把这个上限理解为“更新的版本都没问题”是陷阱:在 v5.16.1 中,先获取后同意的顺序仍未改变,该版本于 8 月 26 日发布——比所述范围上限又往后推了八个小版本。这个范围记录的是测试停在何处,而不是漏洞止于何处。

四周过去,仍无厂商声明

CERT/CC 记录显示 Hugging Face 于 8 月 4 日收到通知,并在 9 月 1 日发布时将厂商状态列为 Unknown,同时注明“我们尚未收到厂商声明”。同样没有公布评分——GitHub 和 CERT/CC 都未分配 CVSS。通知与发布之间相隔 28 天且没有厂商回应,这一披露过程与技术问题并列存在。