CVE-2026-71514 NLTK 3.9.4 through 3.10.2 Path Traversal via CrubadanCorpusReader pathsec Bypass
An attacker controlling a corpus package can read arbitrary files outside the corpus directory via path traversal in NLTK's CrubadanCorpusReader.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-71514?
CVE-2026-71514 is a low-severity path traversal vulnerability in nltk, published on 22 Aug 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official 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.
Weakness: CWE-22
Which versions are affected by CVE-2026-71514?
3 open source packages ship an affected version, including nltk. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nltk PyPI | From 3.9.4 | 3.10.3 |
nltk PyPI | From 3.9.4 | 3.10.3 |
nltk PyPI | From 3.9.4 | 3.10.3 |
Products include Nltk Nltk.
How do I fix CVE-2026-71514?
Upgrade nltk to 3.10.3 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-71514 being exploited?
There is no known exploitation of CVE-2026-71514 in the wild and no public exploit code.
Other vulnerabilities in nltk
- CVE-2026-0848 Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading
- CVE-2025-14009 Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution
- CVE-2026-78683 NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization
- CVE-2026-79657 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization
- CVE-2026-79675 NLTK before 3.10.3 JVM Argument Injection via Per-Call Options
Sources
Also known as DEBIAN-CVE-2026-71514, ECHO-ba5b-610f-40bb, GHSA-cv22-g7mw-8v73, PYSEC-2026-3790, UBUNTU-CVE-2026-71514.