A vulnerability in PyTorch's weights_only unpickler allows an attacker to craft a malicious checkpoint file (.pth) that, when loaded with torch.load(..., weights_only=True), can corrupt memory and potentially lead to arbitrary code execution.
The weights_only=True unpickler failed to properly validate pickle opcodes and storage metadata, allowing:
SETITEM/SETITEMS opcodes applied to non-dictionary typesAn attacker who can convince a user to load a malicious checkpoint file may achieve arbitrary code execution in the context of the victim's process.
Ji'an Zhou
{
"github_reviewed": true,
"cwe_ids": [
"CWE-502",
"CWE-94"
],
"nvd_published_at": "2026-01-27T22:15:56Z",
"github_reviewed_at": "2026-01-27T20:10:54Z",
"severity": "HIGH"
}