Junglewise Threat Intelligence

CVE-2026-31224: Snorkel insecure deserialization in MultitaskClassifier

CVE-2026-31224 · Severity: high · CVSS 8.8 · Published 2026-05-12

Technologies: Snorkel. Vendors: Snorkel, PyPI.

Executive brief

Snorkel is a popular Python library used for programmatically building and managing training datasets for machine learning. A security flaw in how the library loads saved models allows an attacker to execute malicious code on a user's system. This occurs if a user is convinced to load a specially crafted model file, potentially leading to a full system compromise or data theft.

Technical details

The Snorkel library (up to and including v0.10.0) contains an insecure deserialization vulnerability (CWE-502) within the MultitaskClassifier.load() method. The root cause is the use of the torch.load() function without the weights_only=True parameter, which defaults to using the Pickle module for deserialization. An attacker can craft a malicious model file containing arbitrary Python objects that execute code upon being unpickled. Exploitation requires a user to load the malicious file using the affected method. As of the advisory date, no patched version is specified.

Affected products

  • snorkel-team snorkel <= 0.10.0

Timeline

  • 2026-05-12: disclosed: Initial disclosure and NVD publication
  • 2026-05-12: advisory: GitHub Advisory published
  • 2026-05-18: other: GitHub Advisory reviewed and updated

References

Related threats