Vulnerability · Published Apr 10, 2024 · Assigned by @huntr_ai
CVE-2024-3568Arbitrary Code Execution via Deserialization in huggingface/transformers
Low 3.4
In plain English
A low-severity unsafe deserialization in huggingface/transformers from huggingface. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 2.1% (higher than 82% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | transformers | 4.38.0 | GHSA-37q5-v5qm-c9v8 |
| PyPI | transformers | 4.38.0 | PYSEC-2026-1978 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| huggingface | huggingface/transformers | unspecified – before 4.38 |
Weakness: CWE-502 · Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L