Skip to main content
← All vulnerabilities
CVE-2024-3568PYSEC-2026-1978GHSA-37Q5-V5QM-C9V8

Arbitrary Code Execution via Deserialization in huggingface/transformers

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.38, 4.38.0
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

The huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data within the `load_repo_checkpoint()` function of the `TFPreTrainedModel()` class. Attackers can execute arbitrary code and commands by crafting a malicious serialized payload, exploiting the use of `pickle.load()` on data from potentially untrusted sources. This vulnerability allows for remote code execution (RCE) by deceiving victims into loading a seemingly harmless checkpoint during a normal training process, thereby enabling attackers to execute arbitrary code on the targeted machine.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • huggingface huggingface/transformers

    fixed in 4.38

  • transformersPyPI

    fixed in 4.38.0

References 3

huntr.com

GitHub · huggingface/transformers

GitHub · rooobeam/Pickle-Deserialization-Exploit-in-Transformers