torch.load in Snorkel Trainer.loadMITRE service request: 1987825
Status: RESERVED (pending a qualifying public reference per CNA Rules §5.3).
The snorkel library thru v0.10.0 contains an insecure deserialization vulnerability (CWE-502) in the Trainer.load() method of the Trainer class. The method loads model checkpoint files using torch.load() without enabling the security-restrictive weights_only=True parameter. This default behavior allows the deserialization of arbitrary Python objects via the Pickle module. A remote attacker can exploit this by providing a maliciously crafted model file, leading to arbitrary code execution on the victim’s system when the file is loaded via the vulnerable method.
Snorkel’s Trainer.load(trainer_path=..., model=None) path deserializes user-supplied checkpoints with unsafe torch.load, enabling pickle-based RCE when victims open hostile trainer bundles.
617c92400c50e95ce41fcee84309a86f76cf525c).Trainer.load → torch.load without weights_only=True..pt / .ckpt trainer artifacts via tutorials or datasets.Trainer.load pointing at attacker path.High for researchers loading third-party Snorkel models.