Read the docs
TI-2026-50116 Aliases CVE-2026-71514GHSA-cv22-g7mw-8v73

NLTK 3.9.4 through 3.10.2 Path Traversal via CrubadanCorpusReader pathsec Bypass

Priority LOW 10CWE-22Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
High
Attack requirements
Present
Impact type
Information disclosure
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00171 6th percentileScored 2026-11-07
Fix Fixed nltk (nltk): 3.10.3nltk (PyPI): 3.10.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nltknltk3.9.4 to before 3.10.33.10.3Patch availableCNA
—nltk (PyPI)3.9.4 to before 3.10.33.10.3Patch availableGHSA-cv22-g7mw-8v73
  • nltk Vendornltk Affected 3.9.4 to before 3.10.3 Fixed in 3.10.3 Patch available CNA
  • nltk (PyPI) Vendor— Affected 3.9.4 to before 3.10.3 Fixed in 3.10.3 Patch available GHSA-cv22-g7mw-8v73

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*3.9.4 – 3.10.2Vulnerablenltk
  • cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:* Versions 3.9.4 – 3.10.2 Vulnerable ·nltk

Remediation

  • Fix · CNA nltk (nltk) Fixed in 3.10.3
  • Fix · GHSA-cv22-g7mw-8v73 nltk (PyPI) Fixed in 3.10.3 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    nltk 3.10.3

    2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-50115 NLTK 3.10.0 through 3.10.2 Remote Code Execution via AllowlistUnpickler Dotted-Name BypassPriority MEDIUM 42

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

Not affected: 5 products
  • Exploit Intelligence
  • Lightspeed Core
  • OpenShift Lightspeed
  • Red Hat Ansible Automation Platform 2
  • Red Hat OpenShift AI (RHOAI)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-71514
  2. 2026-10-03 Alias added: GHSA-cv22-g7mw-8v73

References

  • TI-2026-00629 Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading CVSS 3.0CRITICAL 10.0
  • TI-2025-12800 Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution CVSS 3.0CRITICAL 10.0
  • TI-2026-55173 NLTK before 3.10.3 JVM Argument Injection via Per-Call Options CVSS 4.0CRITICAL 9.3
  • TI-2026-55155 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization CVSS 4.0CRITICAL 9.3
  • TI-2026-56370 nltk PorterStemmer before 3.10.3 Quadratic-time DoS CVSS 4.0HIGH 8.7
  • TI-2026-55172 NLTK 3.10.2 Path Traversal via corpus-reader constructors CVSS 4.0HIGH 8.8
See all 41 →

Sources