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.