Vulnerability Details CVE-2026-44827
Diffusers is the a library for pretrained diffusion models. Prior to 0.38.0, diffusers 0.37.0 allows remote code execution without the trust_remote_code=True safeguard when loading pipelines from Hugging Face Hub repositories. The _resolve_custom_pipeline_and_cls function in pipeline_loading_utils.py performs string interpolation on the custom_pipeline parameter using f"{custom_pipeline}.py". When custom_pipeline is not supplied by the user, it defaults to None, which Python interpolates as the literal string "None.py". If an attacker publishes a Hub repository containing a file named None.py with a class that subclasses DiffusionPipeline, the file is automatically downloaded and executed during a standard DiffusionPipeline.from_pretrained() call with no additional keyword arguments. The trust_remote_code check in DiffusionPipeline.download() is bypassed because it evaluates custom_pipeline is not None as False (since the kwarg was never supplied), while the downstream code path that actually loads the module resolves the None value into a valid filename. An attacker can achieve silent arbitrary code execution by publishing a malicious model repository with a None.py file and a standard-looking model_index.json that references a legitimate pipeline class name, requiring only that a victim calls from_pretrained on the repository. This vulnerability is fixed in 0.38.0.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 30.6%
CVSS Severity
CVSS v3 Score 8.8
Products affected by CVE-2026-44827
-
cpe:2.3:a:huggingface:diffusers:0.0.2
-
cpe:2.3:a:huggingface:diffusers:0.0.3
-
cpe:2.3:a:huggingface:diffusers:0.0.4
-
cpe:2.3:a:huggingface:diffusers:0.1.0
-
cpe:2.3:a:huggingface:diffusers:0.1.1
-
cpe:2.3:a:huggingface:diffusers:0.1.2
-
cpe:2.3:a:huggingface:diffusers:0.1.3
-
cpe:2.3:a:huggingface:diffusers:0.10.0
-
cpe:2.3:a:huggingface:diffusers:0.10.1
-
cpe:2.3:a:huggingface:diffusers:0.10.2
-
cpe:2.3:a:huggingface:diffusers:0.11.0
-
cpe:2.3:a:huggingface:diffusers:0.11.1
-
cpe:2.3:a:huggingface:diffusers:0.12.0
-
cpe:2.3:a:huggingface:diffusers:0.12.1
-
cpe:2.3:a:huggingface:diffusers:0.13.0
-
cpe:2.3:a:huggingface:diffusers:0.13.1
-
cpe:2.3:a:huggingface:diffusers:0.14.0
-
cpe:2.3:a:huggingface:diffusers:0.15.0
-
cpe:2.3:a:huggingface:diffusers:0.15.1
-
cpe:2.3:a:huggingface:diffusers:0.16.0
-
cpe:2.3:a:huggingface:diffusers:0.16.1
-
cpe:2.3:a:huggingface:diffusers:0.17.0
-
cpe:2.3:a:huggingface:diffusers:0.17.0.rc0
-
cpe:2.3:a:huggingface:diffusers:0.17.1
-
cpe:2.3:a:huggingface:diffusers:0.18.0
-
cpe:2.3:a:huggingface:diffusers:0.18.1
-
cpe:2.3:a:huggingface:diffusers:0.18.2
-
cpe:2.3:a:huggingface:diffusers:0.19.0
-
cpe:2.3:a:huggingface:diffusers:0.19.1
-
cpe:2.3:a:huggingface:diffusers:0.19.2
-
cpe:2.3:a:huggingface:diffusers:0.19.3
-
cpe:2.3:a:huggingface:diffusers:0.2.0
-
cpe:2.3:a:huggingface:diffusers:0.2.1
-
cpe:2.3:a:huggingface:diffusers:0.2.2
-
cpe:2.3:a:huggingface:diffusers:0.2.3
-
cpe:2.3:a:huggingface:diffusers:0.2.4
-
cpe:2.3:a:huggingface:diffusers:0.20.0
-
cpe:2.3:a:huggingface:diffusers:0.20.1
-
cpe:2.3:a:huggingface:diffusers:0.20.2
-
cpe:2.3:a:huggingface:diffusers:0.21.0
-
cpe:2.3:a:huggingface:diffusers:0.21.1
-
cpe:2.3:a:huggingface:diffusers:0.21.2
-
cpe:2.3:a:huggingface:diffusers:0.21.3
-
cpe:2.3:a:huggingface:diffusers:0.21.4
-
cpe:2.3:a:huggingface:diffusers:0.22.0
-
cpe:2.3:a:huggingface:diffusers:0.22.1
-
cpe:2.3:a:huggingface:diffusers:0.22.2
-
cpe:2.3:a:huggingface:diffusers:0.22.3
-
cpe:2.3:a:huggingface:diffusers:0.23.0
-
cpe:2.3:a:huggingface:diffusers:0.23.1
-
cpe:2.3:a:huggingface:diffusers:0.24.0
-
cpe:2.3:a:huggingface:diffusers:0.25.0
-
cpe:2.3:a:huggingface:diffusers:0.25.1
-
cpe:2.3:a:huggingface:diffusers:0.26.0
-
cpe:2.3:a:huggingface:diffusers:0.26.1
-
cpe:2.3:a:huggingface:diffusers:0.26.2
-
cpe:2.3:a:huggingface:diffusers:0.26.3
-
cpe:2.3:a:huggingface:diffusers:0.27.0
-
cpe:2.3:a:huggingface:diffusers:0.27.1
-
cpe:2.3:a:huggingface:diffusers:0.27.2
-
cpe:2.3:a:huggingface:diffusers:0.28.0
-
cpe:2.3:a:huggingface:diffusers:0.28.1
-
cpe:2.3:a:huggingface:diffusers:0.28.2
-
cpe:2.3:a:huggingface:diffusers:0.29.0
-
cpe:2.3:a:huggingface:diffusers:0.29.1
-
cpe:2.3:a:huggingface:diffusers:0.29.2
-
cpe:2.3:a:huggingface:diffusers:0.3.0
-
cpe:2.3:a:huggingface:diffusers:0.30.0
-
cpe:2.3:a:huggingface:diffusers:0.30.1
-
cpe:2.3:a:huggingface:diffusers:0.30.2
-
cpe:2.3:a:huggingface:diffusers:0.30.3
-
cpe:2.3:a:huggingface:diffusers:0.31.0
-
cpe:2.3:a:huggingface:diffusers:0.32.0
-
cpe:2.3:a:huggingface:diffusers:0.32.1
-
cpe:2.3:a:huggingface:diffusers:0.32.2
-
cpe:2.3:a:huggingface:diffusers:0.33.0
-
cpe:2.3:a:huggingface:diffusers:0.33.1
-
cpe:2.3:a:huggingface:diffusers:0.34.0
-
cpe:2.3:a:huggingface:diffusers:0.35.0
-
cpe:2.3:a:huggingface:diffusers:0.35.1
-
cpe:2.3:a:huggingface:diffusers:0.35.2
-
cpe:2.3:a:huggingface:diffusers:0.36.0
-
cpe:2.3:a:huggingface:diffusers:0.37.0
-
cpe:2.3:a:huggingface:diffusers:0.37.1
-
cpe:2.3:a:huggingface:diffusers:0.4.0
-
cpe:2.3:a:huggingface:diffusers:0.4.1
-
cpe:2.3:a:huggingface:diffusers:0.4.2
-
cpe:2.3:a:huggingface:diffusers:0.5.0
-
cpe:2.3:a:huggingface:diffusers:0.5.1
-
cpe:2.3:a:huggingface:diffusers:0.6.0
-
cpe:2.3:a:huggingface:diffusers:0.7.0
-
cpe:2.3:a:huggingface:diffusers:0.7.1
-
cpe:2.3:a:huggingface:diffusers:0.7.2
-
cpe:2.3:a:huggingface:diffusers:0.8.0
-
cpe:2.3:a:huggingface:diffusers:0.8.1
-
cpe:2.3:a:huggingface:diffusers:0.9.0