CVE-2026-44513Diffusers是一个预训练扩散模型库。在0.38.0版本之前,`DiffusionPipeline.from_pretrained`存在安全绕过漏洞。尽管用户设置了`trust_remote_code=False`,攻击者仍可通过特定的代码路径绕过该检查,导致任意远程代码执行。该漏洞源于安全门禁被置于`download()`方法内部,任何跳过该下载流程的操作(如使用本地路径或指定自定义远程管道)都会导致安全检查失效。该问题已在0.38.0版本中修复。
该漏洞的根本原因在于安全门禁`trust_remote_code`被错误地实现在`DiffusionPipeline.download()`方法内部,而非在实际执行动态模块代码的站点。这种设计缺陷意味着任何能够绕过或短路`download()`逻辑的代码路径,都能顺带绕过安全检查。具体利用方式包括三种变体:首先,通过指定`custom_pipeline`参数指向攻击者的恶意仓库,系统仅检查主仓库的白名单,却加载并执行了恶意仓库的`pipeline.py`;其次,利用本地路径加载模型时,代码逻辑完全跳过`download()`方法,导致`trust_remote_code=False`的检查从未触发;最后,当本地快照中包含引用了自定义组件(如`unet/my_unet_model.py`)的配置时,系统直接加载并执行这些组件代码,同样未经过安全验证。攻击者利用此漏洞可在受害者机器上实现远程代码执行。