CVE-2026-71514
Received Received - Intake

Path Traversal in NLTK CrubadanCorpusReader

Vulnerability report for CVE-2026-71514, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-22

Last updated on: 2026-08-22

Assigner: VulnCheck

Description

NLTK 3.9.4 through 3.10.2 contains a path traversal vulnerability in CrubadanCorpusReader. _load_lang_ngrams joins the corpus root with crubadan_code, the column-0 value read from the corpus table.txt mapping file, and opens the result with the builtin open() rather than the pathsec-validated opener, so os.path.join discards the root when that value is absolute and the read escapes the corpus directory without the containment check nltk.pathsec applies when ENFORCE is set. An attacker who controls a corpus package can disclose file contents outside the corpus root through lang_freq, limited to paths ending in -3grams.txt whose contents parse as token count lines.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-22
Last Modified
2026-08-22
Generated
2026-08-22
AI Q&A
2026-08-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
nltk nltk From 3.9.4 (inc) to 3.10.2 (inc)
nltk nltk 3.10.3

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-71514 is a path traversal vulnerability in NLTK versions 3.9.4 through 3.10.2 affecting the CrubadanCorpusReader class. The _load_lang_ngrams method improperly handles file paths by joining the corpus root with user-controlled crubadan_code values from corpus table.txt files. It uses Python's built-in open() instead of a pathsec-validated opener, allowing attackers who control corpus packages to read files outside the intended corpus directory if the crubadan_code contains absolute paths ending in -3grams.txt.

Detection Guidance

Check NLTK version with pip show nltk. If version is between 3.9.4 and 3.10.2, the system is vulnerable. Inspect corpus packages for malformed crubadan_code values in table.txt files that could trigger path traversal.

Impact Analysis

This vulnerability allows an attacker who controls a corpus package to read sensitive files on your system outside the NLTK corpus directory. The impact is limited to files with paths ending in -3grams.txt that parse as token count lines. An attacker could potentially access configuration files, logs, or other sensitive data if they can manipulate corpus files in your NLTK installation.

Compliance Impact

This vulnerability could impact compliance by enabling unauthorized access to sensitive data, potentially violating GDPR's data protection requirements or HIPAA's patient privacy rules. The path traversal could lead to unauthorized disclosure of personal or protected health information if attackers access files containing such data through this vulnerability.

Mitigation Strategies

Upgrade NLTK to version 3.10.3 or later. Review and sanitize corpus packages to ensure crubadan_code values are relative paths. Remove any suspicious corpus packages that may contain malicious table.txt files.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-71514. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart