CVE-2024-3568 Arbitrary Code Execution via Deserialization in huggingface/transformers

Low 3.4 Published Updated

Attackers can execute arbitrary code by tricking users into loading malicious checkpoints in the Hugging Face Transformers library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2024-3568?

CVE-2024-3568 is a low-severity unsafe deserialization vulnerability in huggingface/transformers, published on 10 Apr 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

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.

Weakness: CWE-502

Which versions are affected by CVE-2024-3568?

3 open source packages ship an affected version, including transformers. It affects 1 product.

PackageAffectedFixed in
transformers PyPIAll versions4.38.0
transformers PyPIAll versions4.38.0
transformers PyPIAll versions4.38.0

Products include Huggingface Transformers.

How do I fix CVE-2024-3568?

Upgrade transformers to 4.38.0 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2024-3568 being exploited?

There is no known exploitation of CVE-2024-3568 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-37q5-v5qm-c9v8, PYSEC-2026-1978.

Is CVE-2024-3568 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free