CVE-2026-31223 Snorkel BaseLabeler.load uses an unsafe pickle.load
A remote attacker can execute arbitrary code by providing a malicious pickle file to the BaseLabeler.load method in the snorkel library.
- 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-31223?
CVE-2026-31223 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 a critical insecure deserialization vulnerability (CWE-502) in the BaseLabeler.load() method of the BaseLabeler class. The method loads serialized labeler models using the unsafe pickle.load() function on user-supplied file paths without any validation or security controls. Python's pickle module is inherently dangerous for deserializing untrusted data, as it can execute arbitrary code during the deserialization process. A remote attacker can exploit this by providing a maliciously crafted pickle 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-31223?
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-31223?
No fix has been published for CVE-2026-31223 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-31223 being exploited?
There is no known exploitation of CVE-2026-31223 in the wild and no public exploit code.
Other vulnerabilities in n/a
Sources
Also known as GHSA-fq92-qc8f-482v, PYSEC-2026-3069.