CVE-2026-31222 Snorkel Trainer.load uses an unsafe torch.load
Attackers can execute arbitrary code by tricking users into loading malicious model files with the vulnerable Trainer.load method.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-31222?
CVE-2026-31222 is a high-severity unsafe deserialization vulnerability in n/a, published on 12 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-502
Which versions are affected by CVE-2026-31222?
3 open source packages ship an affected version, including snorkel. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
snorkel PyPI | All versions to 0.10.0 | None |
snorkel PyPI | All versions to 0.10.0 | None |
snorkel PyPI | All versions to 0.10.0 | None |
Products include Snorkel Snorkel.
How do I fix CVE-2026-31222?
No fix has been published for CVE-2026-31222 yet. Limit exposure of the affected software until one is available.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-31222 being exploited?
There is no known exploitation of CVE-2026-31222 in the wild and no public exploit code.
Other vulnerabilities in n/a
Sources
Also known as GHSA-78cp-f66x-qmh5, PYSEC-2026-3068.