p PatchFirst

CVE-2026-44513

CVE-2026-44513 · Diffusers: `trust_remote_code` bypass via `custom_pipeline` and local custom components

This page contains facts from public vulnerability sources. Check the original advisory before updating.

Diffusers is the a library for pretrained diffusion models. Prior to 0.38.0, a trust_remote_code bypass in DiffusionPipeline.from_pretrained allows arbitrary remote code execution despite the user passing trust_remote_code=False (or omitting it, which is the default). The vulnerability has three variants, all sharing the same root cause — the trust_remote_code gate was implemented inside DiffusionPipeline.download() rather than at the actual dynamic-module load site, so any code path that bypassed or short-circuited download() also bypassed the security check. DiffusionPipeline.from_pretrained('repoA', custom_pipeline='attacker/repoB', trust_remote_code=False) — the gate evaluated against repoA's file list rather than repoB's, so repoB's pipeline.py was loaded and executed. DiffusionPipeline.from_pretrained('/local/snapshot', custom_pipeline='attacker/repoB', trust_remote_code=False) — the local-path branch never invoked download(), so the gate was never reached and remote code from repoB executed. DiffusionPipeline.from_pretrained('/local/snapshot', trust_remote_code=False) where the snapshot contains custom component files (e.g. unet/my_unet_model.py) referenced from model_index.json — same root cause; the local path skipped download() and custom component code executed. This vulnerability is fixed in 0.38.0.

CVSS 8.8 · High · EPSS 1.1% · Fix available

Published
Updated

Stack: python

Affected products and versions

  • diffusers

    Versions
    • < 0.38.0: Affected

    No fix published

  • diffusers PyPI

    Versions
    • 0.0.1
    • 0.0.2
    • 0.0.3
    • 0.0.4
    • 0.1.0
    • 0.1.1
    • 0.1.2
    • 0.1.3
    • 0.10.0
    • 0.10.1
    • 0.10.2
    • 0.11.0
    • 0.11.1
    • 0.12.0
    • 0.12.1
    • 0.13.0
    • 0.13.1
    • 0.14.0
    • 0.15.0
    • 0.15.1
    • 0.16.0
    • 0.16.1
    • 0.17.0
    • 0.17.1
    • 0.18.0
    • 0.18.1
    • 0.18.2
    • 0.19.0
    • 0.19.1
    • 0.19.2
    • 0.19.3
    • 0.2.0
    • 0.2.1
    • 0.2.2
    • 0.2.3
    • 0.2.4
    • 0.20.0
    • 0.20.1
    • 0.20.2
    • 0.21.0
    • 0.21.1
    • 0.21.2
    • 0.21.3
    • 0.21.4
    • 0.22.0
    • 0.22.1
    • 0.22.2
    • 0.22.3
    • 0.23.0
    • 0.23.1
    • 0.24.0
    • 0.25.0
    • 0.25.1
    • 0.26.0
    • 0.26.1
    • 0.26.2
    • 0.26.3
    • 0.27.0
    • 0.27.1
    • 0.27.2
    • 0.28.0
    • 0.28.1
    • 0.28.2
    • 0.29.0
    • 0.29.1
    • 0.29.2
    • 0.3.0
    • 0.30.0
    • 0.30.1
    • 0.30.2
    • 0.30.3
    • 0.31.0
    • 0.32.0
    • 0.32.1
    • 0.32.2
    • 0.33.0
    • 0.33.1
    • 0.34.0
    • 0.35.0
    • 0.35.1
    • 0.35.2
    • 0.36.0
    • 0.37.0
    • 0.37.1
    • 0.4.0
    • 0.4.1
    • 0.4.2
    • 0.5.0
    • 0.5.1
    • 0.6.0
    • 0.7.0
    • 0.7.1
    • 0.7.2
    • 0.8.0
    • 0.8.1
    • 0.9.0
    Affected ranges
    • ECOSYSTEM: < 0.38.0

    Update to 0.38.0

Original sources

Check your server →