Deserialization of Untrusted Data in Natural Language Toolkit - #VU142768

 

Deserialization of Untrusted Data in Natural Language Toolkit - #VU142768

Published: August 15, 2026


Vulnerability identifier: #VU142768
CSH Severity: High
CVSS v4: 9.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: N/A
CWE-ID: CWE-502
Exploitation vector: Remote access
Exploit availability: No public exploit available

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.


Affected software

Natural Language Toolkit

Remediation

Install security update from vendor's website.

Natural Language Toolkit - update to 3.10.3

External References

Related Security Bulletins