漏洞  ·  2026-07-05

Trail of Bits fickling — MLAllowlist 安全检查被静默绕过,恶意 Pickle 标记为 'LIKELY_SAFE'

漏洞High 影响GlobalCVE-2026-14535
Trail of Bits 的 fickling(一个广泛使用的静态分析工具,用于检测恶意的基于 pickle 的 ML 模型文件)中存在逻辑错误,导致其核心保护机制(MLAllowlist)失效,允许经过精心编制的恶意 pickle 有效载荷通过安全检查并在反序列化时执行任意代码。发布于 NVD 2026 年 7 月 4 日,CVSS 8.8(高)。
fickling 是整个 ML 生态系统中的事实标准扫描工具(包括 Hugging Face Hub 工具),用于在加载前检查不可信的 pickle 序列化模型。一个核心检查机制沉默失败的安全工具意味着任何基于 fickling 判定来限制模型加载的管道都可能在不知情的情况下执行来自被污染模型文件的攻击者控制的代码,直接破坏大规模的 ML 供应链信任。
UnsafeImportsML 分析过程无条件地对其检查的每个导入节点调用 AnalysisContext.shorten_code(node),将一个共享的 'reported_shortened_code' 集作为副作用进行填充。这导致随后的 MLAllowlist 过程完全跳过其允许列表检查,成为死代码。结果是,任何在 UNSAFE_IMPORTS 黑名单之外的模块(包括能够执行任意代码的非 ML 标准库模块)都可以通过 fickling.check_safety() 被偷运进去,并将被报告为 LIKELY_SAFE,然后由任何信任 fickling 判定的应用程序通过 pickle.loads() 执行。
Trail of Bits fickling ≤ 0.1.11(在 0.1.12 中修复)
升级到 fickling 0.1.12 或更高版本,该版本修复了逻辑错误以恢复 MLAllowlist 执行。不要仅依赖 fickling 对不可信 pickle 文件的安全判定 — 结合沙箱隔离或 safetensors 格式迁移。
TheHackerWire - CVE-2026-14535Trail of Bits fickling commit (fix)
在实时动态中查看 浏览更多 AI 安全与治理相关发现 — 每日清晨更新。
打开动态 →