NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐍
🐍 PyPI
Not in CISA KEV
HIGH severity

CVE-2026-5241 — transformers

HIGHFix: huggingface/transformers@676559d

CVE-2026-5241 is a high-severity (CVSS 7.7) CWE-829 vulnerability in transformers. A fix is available for transformers — see the affected versions and patch details below.

Policy Bypass in LightGlue Nested Config Resolution in huggingface/transformers

Also known asGHSA-fgcw-684q-jj6rPYSEC-2026-2290
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Nov 6, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

Proof-of-concept exploit code exists

  • CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
  • A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-5241.

EPSS Exploitation Probability

via FIRST.org ↗
0.6%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs49th percentile — riskier than 49% of all scored CVEsHighest risk
0.00%0.48%0.96%1.44%0.5%0.6%Jul 26Oct 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

1 pkg affected
🐍transformers

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

A vulnerability in the LightGlue model loading path of huggingface/transformers version 5.2.0 allows an attacker-controlled model repository to execute arbitrary code during model initialization. The issue arises because the trust_remote_code parameter, intended to prevent remote code execution, is overridden by untrusted serialized configuration data in a nested code path. Specifically, when loading a LightGlue model using AutoModel.from_pretrained() with trust_remote_code=False, the LightGlueConfig reads the trust_remote_code value from the untrusted config.json file and propagates it into nested AutoConfig.from_pretrained() calls. This results in the execution of attacker-provided Python modules, even when the victim explicitly disables remote code execution. The vulnerability poses a high risk for environments such as API inference servers, research notebooks, CI/CD pipelines, and model evaluation workers, potentially leading to credential theft, lateral movement, or persistence/backdoor deployment.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPItransformersall versions5.5.0pip install --upgrade 'transformers==5.5.0'

Affected Products

1 product · 1 configurations
Application
transformershuggingface
1 version
5.2.0

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for transformers, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update transformers to 5.5.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-5241 is resolved across your whole dependency graph.

  3. Workarounds

    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.

Fixing This On Your OS

If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.

Red HatImportant

This Important vulnerability in `python-transformers` allows for arbitrary code execution when loading a malicious LightGlue model, even if `trust_remote_code` is explicitly set to `False`. This occurs because untrusted serialized configuration data can override the security setting in nested model loading paths. Red…

Workaround published by Red Hat
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.
Source: Red Hat security advisory for CVE-2026-5241 (CC BY 4.0)
ProductFixed inAdvisory
Red Hat AI Inference Server 3.4rhaii/vllm-spyre-rhel9:1789681201RHSA-2026:69464
Red Hat AI Inference Server 3.4rhaii/vllm-cpu-rhel9:1789681128RHSA-2026:69466
Red Hat AI Inference Server 3.4rhaii/vllm-cuda-rhel9:1789681126RHSA-2026:69467
Red Hat AI Inference Server 3.4rhaii/model-opt-cuda-rhel9:1789681126RHSA-2026:69468
Red Hat AI Inference Server 3.4rhaii/vllm-rocm-rhel9:1789681126RHSA-2026:69469
Red Hat AI Inference Server 3.4rhaii/vllm-cpu-rhel9:1790075793RHSA-2026:70965
Red Hat AI Inference Server 3.4rhaii/vllm-spyre-rhel9:1790076141RHSA-2026:70969
Red Hat AI Inference Server 3.4rhaii/vllm-cuda-rhel9:1790090131RHSA-2026:70979

Frequently Asked Questions

A vulnerability in the LightGlue model loading path of huggingface/transformers version 5.2.0 allows an attacker-controlled model repository to execute arbitrary code during model initialization. The issue arises because the `trust_remote_code` parameter, intended to prevent remote code execution, is overridden by untrusted serialized configuration data in a nested code path. Specifically, when loading a LightGlue model using `AutoModel.from_pretrained()` with `trust_remote_code=False`, the `LightGlueConfig` reads the `trust_remote_code` value from the untrusted `config.json` file and propagat
O3 Security · Impact-Aware SCA

Is CVE-2026-5241 in your dependencies?

Find it across PyPI, including transitive dependencies.

CVE-2026-5241: transformers — Fixed in 5.5.0