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 loadrepocheckpoint() 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 Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-3568?
CVE-2024-3568 is categorized as a critical severity vulnerability due to its potential for arbitrary code execution.
How do I fix CVE-2024-3568?
To remediate CVE-2024-3568, upgrade the huggingface/transformers library to version 4.38.0 or later.
What does CVE-2024-3568 affect?
CVE-2024-3568 affects the huggingface/transformers library, specifically the `TFPreTrainedModel()` class.
Can CVE-2024-3568 allow attackers to execute arbitrary code?
Yes, CVE-2024-3568 allows attackers to execute arbitrary code through deserialization of untrusted data.
What function is vulnerable in CVE-2024-3568?
The `load_repo_checkpoint()` function in the `TFPreTrainedModel()` class is the vulnerable function in CVE-2024-3568.