[ CVE-2026-115878 · Published 3 Nov 2026 ]
Stanza: RCE via pickle deserialization in the lemmatizer
CVSS 7.8
EPSS <1%Fix available
[ Description ]Official description
Stanza is a Stanford NLP Python library for tokenization, sentence segmentation, NER, and parsing of many human languages. From 1.14.0 until 1.15.0, loading an attacker-supplied lemmatizer checkpoint can execute arbitrary code because stanza/models/lemma/trainer.py stores pos_dict as gzip-compressed pickle bytes and Trainer.load passes the decompressed stream to unrestricted pickle.loads. The outer torch.load call uses weights_only=True, but the nested bytes are treated as a primitive and are not inspected by that allowlist. The path is reachable during pipeline construction through a caller-influenced lemma_model_path, before inference begins. This issue is fixed in version 1.15.0.
[ Fixes ]Fixes and patches
- stanza 1.15.0Fixed version · GitHub Advisories · pip package stanza: upgrade to 1.15.0 or later (affected = 1.14.0)
[ Packages ]Affected open-source packages
- stanza pipAffected = 1.14.0 · fixed in 1.15.0 · GHSA-gh9r-c94j-cmp5