Unsafe Pickle Deserialization in NLTK by NLTK Project
CVE-2026-78683
9.4CRITICAL
What is CVE-2026-78683?
The NLTK library, prior to version 3.10.0, is susceptible to an unsafe pickle deserialization vulnerability within the TransitionParser.parse() method. This flaw arises when the pickle_load() method is invoked with the default restriction settings turned off, allowing an attacker to craft specific model files. Consequently, when these crafted files are loaded, they can exploit the arbitrary execution of Python code by leveraging untrusted deserialization paths. Although NLTK implements a RestrictedUnpickler designed for safe deserialization, it remains unused in the primary code paths employed in production environments. The vulnerability is addressed in the subsequent release, version 3.10.0.
Affected Version(s)
nltk 0 < 3.10.0
nltk 3.10.0
