chore(deps): update dependency diffusers to v0.38.0 [security]#91
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency diffusers to v0.38.0 [security]#91renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.37.1→==0.38.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Diffusers has a
trust_remote_codebypass viacustom_pipelineand local custom componentsCVE-2026-44513 / GHSA-98h9-4798-4q5v
More information
Details
Impact
A
trust_remote_codebypass inDiffusionPipeline.from_pretrainedallows arbitrary remote code execution despite the user passingtrust_remote_code=False(or omitting it, which is the default). The vulnerability has three variants, all sharing the same root cause — thetrust_remote_codegate was implemented insideDiffusionPipeline.download()rather than at the actual dynamic-module load site, so any code path that bypassed or short-circuiteddownload()also bypassed the security check:custom_pipeline.DiffusionPipeline.from_pretrained('repoA', custom_pipeline='attacker/repoB', trust_remote_code=False)— the gate evaluated againstrepoA's file list rather thanrepoB's, sorepoB'spipeline.pywas loaded and executed.custom_pipeline.DiffusionPipeline.from_pretrained('/local/snapshot', custom_pipeline='attacker/repoB', trust_remote_code=False)— the local-path branch never invokeddownload(), so the gate was never reached and remote code fromrepoBexecuted.DiffusionPipeline.from_pretrained('/local/snapshot', trust_remote_code=False)where the snapshot contains custom component files (e.g.unet/my_unet_model.py) referenced frommodel_index.json— same root cause; the local path skippeddownload()and custom component code executed.Silent remote code execution on the victim's machine. Anyone calling
DiffusionPipeline.from_pretrainedwith custom pipelines is impacted.Patches
Yes. Fixed in diffusers 0.38.0 via PR #13448. All users on versions
< 0.38.0should upgrade:pip install --upgrade "diffusers>=0.38.0"The fix moves the
trust_remote_codegate out ofDiffusionPipeline.download()and intoget_cached_module_fileinsrc/diffusers/utils/dynamic_modules_utils.py, which is the actual chokepoint for every dynamic module load (local, Hub, or community mirror). All three variants now raiseValueErrorinstead of executing untrusted code.Workarounds
If upgrading immediately is not possible:
from_pretrainedwithpretrained_model_name_or_path,custom_pipeline, and local snapshot directories from fully trusted sources that have been audited.custom_pipeline=pointing at a Hub repository different from the primarypretrained_model_name_or_pathbefore reading itspipeline.py.from_pretrainedon a local snapshot, inspect the snapshot for unexpected*.pyfiles, especially under component subdirectories (unet/,scheduler/, etc.) and at the snapshot root.These are mitigations, not fixes — the only complete remediation is upgrading to 0.38.0.
Resources
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
huggingface/diffusers (diffusers)
v0.38.0: Diffusers 0.38.0: New image and audio pipelines, Core library improvements, and moreCompare Source
New Pipelines
LLaDA2
LLaDA2 is a family of discrete diffusion language models that generate text through block-wise iterative refinement. Instead of autoregressive token-by-token generation, LLaDA2 starts with a fully masked sequence and progressively unmasks tokens by confidence over multiple refinement steps.
Nucleus-MoE
NucleusMoE-Image is a 2B active 17B parameter model trained with efficiency at its core. Our novel architecture highlights the scalability of a sparse MoE architecture for Image generation.
Thanks to @sippycoder for the contribution.
Ernie-Image
ERNIE-Image is a powerful and highly efficient image generation model with 8B parameters.
Thanks to @HsiaWinter for the contribution.
LongCat-AudioDiT
LongCat-AudioDiT is a text-to-audio diffusion model from Meituan LongCat.
Thanks to @RuixiangMa for the contribution.
Ace-Step 1.5
ACE-Step 1.5 generates variable-length stereo audio at 48 kHz (10 seconds to 10 minutes) from text prompts and optional lyrics. The full system pairs a Language Model planner with a Diffusion Transformer (DiT) synthesizer; this pipeline wraps the DiT half of that stack, and consists of three components: an AutoencoderOobleck VAE that compresses waveforms into 25 Hz stereo latents, a Qwen3-based text encoder for prompt and lyric conditioning, and an AceStepTransformer1DModel DiT that operates in the VAE latent space using flow matching.
Thanks to @ChuxiJ for the contribution.
Flux.2 Small Decoder
Make your Flux.2 decoding faster with this new small decoder model from the Black Forest Labs. You can check it out here. It was contributed by @huemin-art in this PR.
Modular Pipeline Support
We added modular support for LTX-2 and Hunyuan 1.5.
Core Library
ring_anythingas a new CP backendAll commits
lru_cachewarnings duringtorch.compileby @jiqing-feng in #13384--with_prior_preservationby @chenyangzhu1 in #133960.8.0-rc.0by @McPatate in #13470trust_remote_codeby @hlky in #13448Significant community contributions
The following contributors have made significant changes to the library over the last release:
trust_remote_code(#13448)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.