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.
Published: 2026-08-22
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

NLTK versions prior to 3.10.0 default to ENFORCE=False in the pathsec module, causing all security validation functions to emit only warnings instead of raising exceptions. This flaw allows an attacker to bypass built‑in path traversal checks and the protections against malicious pickle deserialization, potentially enabling arbitrary file access or code execution if a vulnerable application processes user supplied paths or pickle data.

Affected Systems

The vulnerability affects the NLTK library published by the nltk project, all releases before 3.10.0. Any Python application that imports and uses NLTK in those versions is potentially exposed.

Risk and Exploitability

The flaw is scored with a CVSS score of 8.7, indicating high severity. No EPSS value is currently provided, and the vulnerability is not listed in the CISA KEV catalog. The attack vector is inferred from the description: any code path that supplies a file location or pickle payload to NLTK functions can trigger the warning‑only behaviour and bypass security checks; this can be local or remote depending on the application context.

Generated by OpenCVE AI on August 22, 2026 at 15:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the NLTK library to version 3.10.0 or later, where security validation is enforced by default.
  • If an upgrade is not immediately feasible, explicitly enable the security controls by setting ENFORCE=True before calling NLTK path or pickle functions.
  • Validate and sanitize all user supplied file paths and pickle data before passing them to NLTK to ensure that only trusted input reaches the library.

Generated by OpenCVE AI on August 22, 2026 at 15:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
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.
Title NLTK before 3.10.0 Insecure Default Configuration pathsec
First Time appeared Nltk
Nltk nltk
Weaknesses CWE-1188
CPEs cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*
Vendors & Products Nltk
Nltk nltk
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 8.7, '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-22T14:12:38.647Z

Reserved: 2026-07-13T22:40:54.412Z

Link: CVE-2026-62388

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T15:16:18.967

Modified: 2026-08-22T15:16:18.967

Link: CVE-2026-62388

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T15:30:05Z

Weaknesses
  • CWE-1188

    Initialization of a Resource with an Insecure Default