{"answers":{"affected":"3 open source packages ship an affected version, including diffusers. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-44513 in the wild and no public exploit code.","fix":"Upgrade diffusers to 0.38.0 or later.","what":"CVE-2026-44513 is a high-severity vulnerability in huggingface diffusers, published on 14 May 2026."},"fix_prompt":"Check this codebase for CVE-2026-44513 and fix it if it is affected.\n\nWhat it is: CVE-2026-44513 is a high-severity vulnerability in huggingface diffusers, published on 14 May 2026. \nExploitation: There is no known exploitation of CVE-2026-44513 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- diffusers (PyPI): affected all versions; fixed in 0.38.0\n- diffusers (PyPI): affected all versions; fixed in 0.38.0\n- diffusers (PyPI): affected all versions; fixed in 0.38.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-44513/ (Markdown: https://insights.sbomify.com/CVE-2026-44513/index.md)","id":"CVE-2026-44513","markdown":"https://insights.sbomify.com/CVE-2026-44513/index.md","name":"CVE-2026-44513","record":{"aliases":["GHSA-98h9-4798-4q5v","PYSEC-2026-40"],"analysis":null,"analysis_generated_by":null,"assigner":"GitHub_M","cpe":[{"product":"diffusers","vendor":"huggingface"}],"cvss":{"score":8.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-358","name":"Improperly Implemented Security Check for Standard"},{"id":"CWE-94","name":"Improper Control of Generation of Code"}],"description":"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.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Diffusers: `trust_remote_code` bypass via `custom_pipeline` and local custom components","id":"CVE-2026-44513","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":null,"year":"2026"},"n_packages":3,"n_references":1,"next":{"headline":"Kubetail: Cross-Site WebSocket Hijacking allows attacker to read Kubernetes logs from authenticated users","id":"CVE-2026-44514"},"packages":[{"ecosystem":"PyPI","fixed":["0.38.0"],"introduced":["0"],"last_affected":[],"package":"diffusers","purl":null,"source":"GHSA-98h9-4798-4q5v"},{"ecosystem":"PyPI","fixed":["0.38.0"],"introduced":["0"],"last_affected":[],"package":"diffusers","purl":"pkg:pypi/diffusers","source":"GHSA-98h9-4798-4q5v"},{"ecosystem":"PyPI","fixed":["0.38.0"],"introduced":["0"],"last_affected":[],"package":"diffusers","purl":"pkg:pypi/diffusers","source":"PYSEC-2026-40"}],"prev":{"headline":"ONNX: Null Pointer Dereference in Upsample Version Converter Adapter (Zero Inputs)","id":"CVE-2026-44512"},"products":["diffusers"],"published":"2026-05-14","related":[{"cvss_score":8.8,"headline":"Diffusers: None.py Trust Remote Code Bypass","id":"CVE-2026-44827","kev_date_added":null,"published":"2026-05-14"},{"cvss_score":7.5,"headline":"Diffusers: TOCTOU Trust Remote Code Bypass","id":"CVE-2026-45804","kev_date_added":null,"published":"2026-07-15"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-08-28","vendors":["huggingface"]},"summary":null,"url":"https://insights.sbomify.com/CVE-2026-44513/"}