RCE via malicious .pth checkpoint in PyTorch torch.load weights_only unpickler
In PyTorch versions prior to 2.10.0, the weights_only unpickler used when loading model checkpoint files is vulnerable to attacker-controlled .pth content. A crafted malicious checkpoint, when loaded with torch.load(..., weights_only=True), can trigger memory corruption (reported as heap corruption), which can potentially be leveraged to achieve arbitrary code execution in the context of the process performing the load. The issue is fixed in PyTorch 2.10.0.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
.pth checkpoint using torch.load(..., weights_only=True), the attacker may be able to cause memory corruption and potentially execute arbitrary code with the privileges of the victim application/process, with high impact to confidentiality, integrity, and availability.Mitigation
If you can’t patch tonight, do this now.
.pth) files. Restrict checkpoint ingestion to trusted sources and enforce provenance controls (e.g., signed artifacts and controlled distribution) until patched versions are deployed.Remediation
Patch, then assume compromise.
Exploits
No public exploits tracked yet. Mallory keeps watching.
No public exploit code observed for this vulnerability.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
8 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A PyTorch 'weights_only=True' safe-loading bypass that allows malicious model checkpoint (.pth) files to trigger heap memory corruption during unpickling, enabling arbitrary code execution.
A PyTorch `weights_only` unpickler flaw enabling a crafted `.pth` checkpoint to trigger memory corruption and potentially arbitrary code execution when loaded via `torch.load(..., weights_only=True)`.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.