{"data":{"id":"7f7d534c-8d19-4cf9-be9a-933510fa80ad","title":"CVE-2026-31222: The snorkel library thru v0.10.0 contains an insecure deserialization vulnerability (CWE-502) in the Trainer.load()…","summary":"CVE-2026-31222 affects the snorkel library through v0.10.0, where the Trainer.load() method in the Trainer class loads checkpoint files with torch.load() without setting weights_only=True. Because this leaves Pickle deserialization of arbitrary Python objects enabled, an attacker who supplies a maliciously crafted model file can achieve arbitrary code execution on the victim's system when the file is loaded.","solution":"N/A -- no mitigation discussed in source.","labels":["security"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-31222","publishedAt":"2026-05-12T16:16:14.120Z","cveId":"CVE-2026-31222","cweIds":null,"cvssScore":null,"cvssSeverity":null,"severity":"high","attackType":["supply_chain"],"issueType":"vulnerability","affectedPackages":["snorkel@<= 0.10.0"],"affectedPackageNames":["snorkel"],"affectedPackageRefs":["pypi:snorkel"],"affectedVendors":[],"affectedVendorsRaw":["snorkel"],"classifierModel":"claude-haiku-5-5","classifierPromptVersion":"v4","summaryPromptVersion":"v2","headline":"snorkel Trainer.load() insecure deserialization of model checkpoint files","headlinePromptVersion":"h1","cvssVector":null,"attackVector":null,"attackComplexity":null,"privilegesRequired":null,"userInteraction":null,"exploitMaturity":"unknown","epssScore":0.00687,"epssCheckedAt":"2026-10-14T12:12:41.990Z","kevDateAdded":null,"advisoryAliases":["GHSA-78cp-f66x-qmh5"],"affectedPackagesSource":"ghsa","affectedPackagesCheckedAt":"2026-10-10T03:48:34.048Z","patchAvailable":null,"disclosureDate":"2026-05-12T16:16:14.120Z","capecIds":null,"crossRefCount":0,"attackSophistication":"moderate","impactType":["integrity","availability","confidentiality"],"aiComponentTargeted":"framework","llmSpecific":false,"classifierConfidence":0.9,"researchCategory":null,"atlasIds":["AML.T0010"]}}