PYSEC-2026-2290

Vulnerability from pysec - Published: 2026-06-03 14:16 - Updated: 2026-07-13 05:52
VLAI
Details

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.

Impacted products
Name purl
transformers pkg:pypi/transformers
Aliases

{
  "affected": [
    {
      "ecosystem_specific": {},
      "package": {
        "ecosystem": "PyPI",
        "name": "transformers",
        "purl": "pkg:pypi/transformers"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "5.2.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "0.1",
        "2.0.0",
        "2.1.0",
        "2.1.1",
        "2.10.0",
        "2.11.0",
        "2.2.0",
        "2.2.1",
        "2.2.2",
        "2.3.0",
        "2.4.0",
        "2.4.1",
        "2.5.0",
        "2.5.1",
        "2.6.0",
        "2.7.0",
        "2.8.0",
        "2.9.0",
        "2.9.1",
        "3.0.0",
        "3.0.1",
        "3.0.2",
        "3.1.0",
        "3.2.0",
        "3.3.0",
        "3.3.1",
        "3.4.0",
        "3.5.0",
        "3.5.1",
        "4.0.0",
        "4.0.0rc1",
        "4.0.1",
        "4.1.0",
        "4.1.1",
        "4.10.0",
        "4.10.1",
        "4.10.2",
        "4.10.3",
        "4.11.0",
        "4.11.1",
        "4.11.2",
        "4.11.3",
        "4.12.0",
        "4.12.1",
        "4.12.2",
        "4.12.3",
        "4.12.4",
        "4.12.5",
        "4.13.0",
        "4.14.0",
        "4.14.1",
        "4.15.0",
        "4.16.0",
        "4.16.1",
        "4.16.2",
        "4.17.0",
        "4.18.0",
        "4.19.0",
        "4.19.1",
        "4.19.2",
        "4.19.3",
        "4.19.4",
        "4.2.0",
        "4.2.1",
        "4.2.2",
        "4.20.0",
        "4.20.1",
        "4.21.0",
        "4.21.1",
        "4.21.2",
        "4.21.3",
        "4.22.0",
        "4.22.1",
        "4.22.2",
        "4.23.0",
        "4.23.1",
        "4.24.0",
        "4.25.0",
        "4.25.1",
        "4.26.0",
        "4.26.1",
        "4.27.0",
        "4.27.1",
        "4.27.2",
        "4.27.3",
        "4.27.4",
        "4.28.0",
        "4.28.1",
        "4.29.0",
        "4.29.1",
        "4.29.2",
        "4.3.0",
        "4.3.0rc1",
        "4.3.1",
        "4.3.2",
        "4.3.3",
        "4.30.0",
        "4.30.1",
        "4.30.2",
        "4.31.0",
        "4.32.0",
        "4.32.1",
        "4.33.0",
        "4.33.1",
        "4.33.2",
        "4.33.3",
        "4.34.0",
        "4.34.1",
        "4.35.0",
        "4.35.1",
        "4.35.2",
        "4.36.0",
        "4.36.1",
        "4.36.2",
        "4.37.0",
        "4.37.1",
        "4.37.2",
        "4.38.0",
        "4.38.1",
        "4.38.2",
        "4.39.0",
        "4.39.1",
        "4.39.2",
        "4.39.3",
        "4.4.0",
        "4.4.1",
        "4.4.2",
        "4.40.0",
        "4.40.1",
        "4.40.2",
        "4.41.0",
        "4.41.1",
        "4.41.2",
        "4.42.0",
        "4.42.1",
        "4.42.2",
        "4.42.3",
        "4.42.4",
        "4.43.0",
        "4.43.1",
        "4.43.2",
        "4.43.3",
        "4.43.4",
        "4.44.0",
        "4.44.1",
        "4.44.2",
        "4.45.0",
        "4.45.1",
        "4.45.2",
        "4.46.0",
        "4.46.1",
        "4.46.2",
        "4.46.3",
        "4.47.0",
        "4.47.1",
        "4.48.0",
        "4.48.1",
        "4.48.2",
        "4.48.3",
        "4.49.0",
        "4.5.0",
        "4.5.1",
        "4.50.0",
        "4.50.1",
        "4.50.2",
        "4.50.3",
        "4.51.0",
        "4.51.1",
        "4.51.2",
        "4.51.3",
        "4.52.0",
        "4.52.1",
        "4.52.2",
        "4.52.3",
        "4.52.4",
        "4.53.0",
        "4.53.1",
        "4.53.2",
        "4.53.3",
        "4.54.0",
        "4.54.1",
        "4.55.0",
        "4.55.1",
        "4.55.2",
        "4.55.3",
        "4.55.4",
        "4.56.0",
        "4.56.1",
        "4.56.2",
        "4.57.0",
        "4.57.1",
        "4.57.2",
        "4.57.3",
        "4.57.4",
        "4.57.5",
        "4.57.6",
        "4.6.0",
        "4.6.1",
        "4.7.0",
        "4.8.0",
        "4.8.1",
        "4.8.2",
        "4.9.0",
        "4.9.1",
        "4.9.2",
        "5.0.0",
        "5.0.0rc0",
        "5.0.0rc1",
        "5.0.0rc2",
        "5.0.0rc3",
        "5.1.0",
        "5.2.0"
      ]
    }
  ],
  "aliases": [
    "CVE-2026-5241"
  ],
  "details": "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.",
  "id": "PYSEC-2026-2290",
  "modified": "2026-07-13T05:52:14.826934Z",
  "published": "2026-06-03T14:16:46.337Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://access.redhat.com/security/cve/CVE-2026-5241"
    },
    {
      "type": "WEB",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-5241.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://access.redhat.com/errata/RHSA-2026:34456"
    },
    {
      "type": "ADVISORY",
      "url": "https://access.redhat.com/errata/RHSA-2026:37275"
    },
    {
      "type": "REPORT",
      "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2484384"
    },
    {
      "type": "FIX",
      "url": "https://github.com/huggingface/transformers/commit/676559d5022b74aaa0cee1cee0842b7f27c5320e"
    },
    {
      "type": "EVIDENCE",
      "url": "https://huntr.com/bounties/ceb3ce1a-4c45-497a-b25e-cb9a7685e619"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…