CVE-2024-3568
Arbitrary Code Execution via Deserialization in huggingface/transformers
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
3.4
Arbitrary Code Execution via Deserialization in huggingface/transformers
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.
- Record
CVE-2024-3568- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2024-1077
3.4
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.
- Record
EUVD-2024-1077- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-37q5-v5qm-c9v8
3.4
Transformers Deserialization of Untrusted Data vulnerability
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.
- Record
GHSA-37q5-v5qm-c9v8- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
NVD
9.6
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.
- Record
CVE-2024-3568- CVSS 3.1
- 9.6 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H - CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
3.4
Arbitrary Code Execution via Deserialization in huggingface/transformers
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.
- Record
CVE-2024-3568- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVGHSA-37q5-v5qm-c9v8
3.4
Transformers Deserialization of Untrusted Data vulnerability
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.
- Record
GHSA-37q5-v5qm-c9v8- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVPYSEC-2026-1978
3.4
Transformers Deserialization of Untrusted Data vulnerability
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.
- Record
PYSEC-2026-1978- CVSS 3.0
- 3.4 Low
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
transformersPyPI |
before 4.38.0 | 4.38.0 |
transformersPyPI |
before 4.38.0, plus listed versions 0.12.0.02.1.02.1.12.10.0 Show 45 moreShow less2.11.02.2.02.2.12.2.22.3.02.4.02.4.12.5.02.5.12.6.02.7.02.8.02.9.02.9.13.0.03.0.13.0.23.1.03.2.03.3.03.3.13.4.03.5.03.5.14.0.04.0.0rc14.0.14.1.04.1.14.10.04.10.14.10.24.10.34.11.04.11.14.11.24.11.34.12.04.12.14.12.24.12.34.12.44.12.54.13.04.14.0 |
4.38.0 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | rooobeam/Pickle-Deserialization-Exploit-in-Transformers | 2025-07-10 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-3568 is a low vulnerability (CVSS 3.4) in Huggingface Huggingface/transformers, published April 10, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 2.08%, the 81st percentile. Fixed in transformers 4.38.0.
References
huntr.com/bounties/b3c36992-5264-4d7f-9906-a996efafba8f
github.com/huggingface/transformers/commit/693667b8ac8138b83f8adb6522ddaf42fa07c125
nvd.nist.gov/vuln/detail/CVE-2024-3568
github.com/advisories/GHSA-37q5-v5qm-c9v8
github.com/CVEProject/cvelistV5/tree/main/cves/2024/3xxx/CVE-2024-3568.json
github.com/huggingface/transformers
pypi.org/project/transformers
Left out here: 81 versions. The JSON record has them.