ZeroHour

CVE-2026-62388

PoC mass

Disabled-by-default security controls in NLTK allow path traversal and pickle bypass

CVSS 4.0
8.7 high
EPSS
<1%p38
Published
()
Modified
AI analysis

NLTK versions before 3.10.0 ship with ENFORCE set to False by default in pathsec.py, so the library's security validation functions only emit warnings instead of raising exceptions. Any application or pipeline that processes untrusted file paths or untrusted pickle data through NLTK's path/deserialization protections can have those protections bypassed by an attacker, since the validations are not actually enforced unless manually enabled. Per the CVSS 4.0 scoring, the primary scored impact is high loss of confidentiality (e.g., accessing files or data outside intended boundaries), with no scored integrity or availability impact. All users of NLTK prior to version 3.10.0 are affected, including academic, research, and production NLP environments. No exploitation has been observed in the wild (not in CISA KEV, EPSS ~0.5%), but one public advisory reference (GHSA-p3m8-78j2-g5p3) is available.

What to do: Upgrade to NLTK 3.10.0 or later, where the security validations are enforced by default. If upgrading is not immediately possible, explicitly enable the ENFORCE setting in pathsec.py for any code that processes untrusted file paths or deserializes untrusted pickles. Review NLP workflows that load external corpora, models, or serialized objects, and ensure they do not rely on the previously warning-only validations.

Affected
nltkAll versions before 3.10.0
Estimated exposure
massplausibly millions of installations/environments (NLTK is a foundational Python NLP library with very broad download and deployment volume) — NLTK is among the most widely installed Python NLP libraries, used heavily in teaching, research, and production text pipelines, and the insecure default applies to every release below 3.10.0, so affected deployments are plausibly in the…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

NLTK versions before 3.10.0 default to ENFORCE=False in pathsec.py, causing all security validation functions to emit warnings instead of raising exceptions. Attackers can bypass path traversal and pickle deserialization protections by exploiting the disabled security controls that are only active when manually enabled.

Vendors
nltk
Products
nltk
Weakness
CWE-1188
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.