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.
The vulnerability results from the use of the `pickle.load()` function in the `load_repo_checkpoint()` method of the `TFPreTrainedModel` class to deserialize data from potentially untrusted sources. An attacker prepares a malicious serialized payload and places it in a checkpoint file that looks like a normal model state save. When the victim loads such a checkpoint during a standard model training process, the embedded payload is deserialized and executed by the Python interpreter with the victim's process privileges.
An attacker can execute arbitrary code and system commands on the victim's machine (RCE), which consequently can lead to complete system takeover, data theft, or malware installation.
The Huggingface Transformers library should be updated to a version containing the fix commit 693667b8ac8138b83f8adb6522ddaf42fa07c125. Additionally, it is recommended to load checkpoints only from trusted and verified sources and to avoid deserializing data from unknown origins.
Huggingface Transformers library — specific vulnerable versions indicated in the vendor references (fix commit: 693667b8ac8138b83f8adb6522ddaf42fa07c125)
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HHuggingface Transformers
APPHuggingface< 4.38.0
Related vulnerabilities
RCE w Huggingface Transformers — obejście trust_remote_code w LightGlue
A critical remote code execution vulnerability exists in all versions of the HuggingFace transformers library ...
A vulnerability in the HuggingFace Transformers library, specifically in the `Trainer` class, allows for arbit...
Hugging Face Transformers SEW convert_config Code Injection Remote Code Execution Vulnerability. This vulnerab...
Hugging Face Transformers Transformer-XL Model Deserialization of Untrusted Data Remote Code Execution Vulnera...