Deserialization of Untrusted Data in Natural Language Toolkit - #VU142768
Published: August 15, 2026
Vulnerability details
The vulnerability allows a remote attacker to execute arbitrary code.
The vulnerability exists due to deserialization of untrusted data in nltk.picklesec.allowlisted_pickle_load, nltk.tokenize.punkt.punkt_pickle_load, and nltk.parse.transitionparser.TransitionParser.parse when loading attacker-controlled model or tokenizer artifacts. A remote attacker can supply a crafted pickle payload to execute arbitrary code.
The issue stems from allowlists that trust whole module namespaces, enabling dangerous in-namespace callables to be reached through pickle REDUCE during unpickling.