Unsafe Pickle Deserialization in NLTK by NLTK Project
CVE-2026-78683

9.4CRITICAL

Key Information:

Vendor

Nltk

Status
Vendor
CVE Published:
25 August 2026

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

References

CVSS V4

Score:
9.4
Severity:
CRITICAL
Confidentiality:
High
Integrity:
High
Availability:
High
Attack Vector:
Network
Attack Complexity:
Low
Attack Required:
None
Privileges Required:
Undefined
User Interaction:
Unknown

Timeline

  • Vulnerability published

  • Vulnerability Reserved

Credit

ekaf
.