CVE-2026-31224

Published May 12, 2026 CVSS 3.1 · 8.8 High EPSS < 1% KEV · Not listed
Description
The snorkel library thru v0.10.0 contains an insecure deserialization vulnerability (CWE-502) in the MultitaskClassifier.load() method of the MultitaskClassifier class. The method loads model weight 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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-gpx5-7xm4-229w Snorkel MultitaskClassifier.load uses an unsafe torch.load
History
Type Values Removed Values Added
First Time appeared Snorkel-team
Snorkel-team snorkel
Vendors & Products Snorkel-team
Snorkel-team snorkel
Type Values Removed Values Added
Title Snorkel MultitaskClassifier Insecure Deserialization Enables Arbitrary Code Execution
Type Values Removed Values Added
First Time appeared Snorkel
Snorkel snorkel
CPEs cpe:2.3:a:snorkel:snorkel:*:*:*:*:*:*:*:*
Vendors & Products Snorkel
Snorkel snorkel
Type Values Removed Values Added
Weaknesses CWE-502
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title Snorkel MultitaskClassifier Insecure Deserialization Enables Arbitrary Code Execution
Type Values Removed Values Added
Description The snorkel library thru v0.10.0 contains an insecure deserialization vulnerability (CWE-502) in the MultitaskClassifier.load() method of the MultitaskClassifier class. The method loads model weight 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.
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
May 13, 2026, 2:05 PM
Reserved
Mar 9, 2026, 12:00 AM
Status
Analyzed
Published
May 12, 2026, 4:16 PM
Modified
Oct 19, 2026, 10:10 PM